WIP Fix flusher possibly not trimming journal on rollback
Test / buildenv (push) Successful in 10s
Details
Test / build (push) Successful in 3m20s
Details
Test / test_cas (push) Successful in 9s
Details
Test / make_test (push) Successful in 36s
Details
Test / test_change_pg_size (push) Successful in 7s
Details
Test / test_change_pg_count (push) Successful in 42s
Details
Test / test_change_pg_count_ec (push) Successful in 36s
Details
Test / test_create_nomaxid (push) Successful in 7s
Details
Test / test_etcd_fail (push) Successful in 55s
Details
Test / test_add_osd (push) Successful in 2m30s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 2m48s
Details
Test / test_interrupted_rebalance (push) Successful in 2m50s
Details
Test / test_failure_domain (push) Successful in 10s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 2m17s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m36s
Details
Test / test_snapshot (push) Successful in 27s
Details
Test / test_minsize_1 (push) Successful in 14s
Details
Test / test_snapshot_ec (push) Successful in 25s
Details
Test / test_rm (push) Successful in 15s
Details
Test / test_move_reappear (push) Successful in 21s
Details
Test / test_snapshot_down (push) Successful in 25s
Details
Test / test_snapshot_down_ec (push) Successful in 31s
Details
Test / test_splitbrain (push) Successful in 17s
Details
Test / test_snapshot_chain (push) Successful in 2m28s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m55s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m38s
Details
Test / test_rebalance_verify (push) Successful in 4m5s
Details
Test / test_switch_primary (push) Successful in 33s
Details
Test / test_write (push) Successful in 52s
Details
Test / test_write_no_same (push) Successful in 14s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m5s
Details
Test / test_write_xor (push) Successful in 57s
Details
Test / test_rebalance_verify_ec (push) Successful in 6m4s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m47s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m42s
Details
Test / test_heal_ec (push) Successful in 5m0s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m22s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m57s
Details
Test / test_heal_csum_32k (push) Successful in 7m14s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 7m12s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 46s
Details
Test / test_scrub_xor (push) Successful in 45s
Details
Test / test_scrub (push) Successful in 49s
Details
Test / test_scrub_ec (push) Successful in 1m4s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m6s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m23s
Details
Test / test_nfs (push) Successful in 21s
Details
Test / test_heal_csum_4k (push) Successful in 6m2s
Details
Test / buildenv (push) Successful in 10s
Details
Test / build (push) Successful in 3m20s
Details
Test / test_cas (push) Successful in 9s
Details
Test / make_test (push) Successful in 36s
Details
Test / test_change_pg_size (push) Successful in 7s
Details
Test / test_change_pg_count (push) Successful in 42s
Details
Test / test_change_pg_count_ec (push) Successful in 36s
Details
Test / test_create_nomaxid (push) Successful in 7s
Details
Test / test_etcd_fail (push) Successful in 55s
Details
Test / test_add_osd (push) Successful in 2m30s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 2m48s
Details
Test / test_interrupted_rebalance (push) Successful in 2m50s
Details
Test / test_failure_domain (push) Successful in 10s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 2m17s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m36s
Details
Test / test_snapshot (push) Successful in 27s
Details
Test / test_minsize_1 (push) Successful in 14s
Details
Test / test_snapshot_ec (push) Successful in 25s
Details
Test / test_rm (push) Successful in 15s
Details
Test / test_move_reappear (push) Successful in 21s
Details
Test / test_snapshot_down (push) Successful in 25s
Details
Test / test_snapshot_down_ec (push) Successful in 31s
Details
Test / test_splitbrain (push) Successful in 17s
Details
Test / test_snapshot_chain (push) Successful in 2m28s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m55s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m38s
Details
Test / test_rebalance_verify (push) Successful in 4m5s
Details
Test / test_switch_primary (push) Successful in 33s
Details
Test / test_write (push) Successful in 52s
Details
Test / test_write_no_same (push) Successful in 14s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m5s
Details
Test / test_write_xor (push) Successful in 57s
Details
Test / test_rebalance_verify_ec (push) Successful in 6m4s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m47s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m42s
Details
Test / test_heal_ec (push) Successful in 5m0s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m22s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m57s
Details
Test / test_heal_csum_32k (push) Successful in 7m14s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 7m12s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 46s
Details
Test / test_scrub_xor (push) Successful in 45s
Details
Test / test_scrub (push) Successful in 49s
Details
Test / test_scrub_ec (push) Successful in 1m4s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m6s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m23s
Details
Test / test_nfs (push) Successful in 21s
Details
Test / test_heal_csum_4k (push) Successful in 6m2s
Details
parent
5d3aaf016b
commit
fdeab3a592
|
@ -86,6 +86,8 @@ void journal_flusher_t::loop()
|
||||||
cur_flusher_count--;
|
cur_flusher_count--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (trim_wanted)
|
||||||
|
co[0].try_trim = true;
|
||||||
for (int i = 0; (active_flushers > 0 || dequeuing || trim_wanted > 0) && i < cur_flusher_count; i++)
|
for (int i = 0; (active_flushers > 0 || dequeuing || trim_wanted > 0) && i < cur_flusher_count; i++)
|
||||||
co[i].loop();
|
co[i].loop();
|
||||||
}
|
}
|
||||||
|
@ -364,10 +366,10 @@ resume_0:
|
||||||
!flusher->flush_queue.size() || !flusher->dequeuing)
|
!flusher->flush_queue.size() || !flusher->dequeuing)
|
||||||
{
|
{
|
||||||
stop_flusher:
|
stop_flusher:
|
||||||
if (flusher->trim_wanted > 0 && cur.oid.inode != 0)
|
if (flusher->trim_wanted > 0 && try_trim)
|
||||||
{
|
{
|
||||||
// Attempt forced trim
|
// Attempt forced trim
|
||||||
cur.oid = {};
|
try_trim = false;
|
||||||
flusher->active_flushers++;
|
flusher->active_flushers++;
|
||||||
goto trim_journal;
|
goto trim_journal;
|
||||||
}
|
}
|
||||||
|
@ -375,6 +377,7 @@ stop_flusher:
|
||||||
wait_state = 0;
|
wait_state = 0;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
try_trim = true;
|
||||||
cur.oid = flusher->flush_queue.front();
|
cur.oid = flusher->flush_queue.front();
|
||||||
cur.version = flusher->flush_versions[cur.oid];
|
cur.version = flusher->flush_versions[cur.oid];
|
||||||
flusher->flush_queue.pop_front();
|
flusher->flush_queue.pop_front();
|
||||||
|
|
|
@ -60,6 +60,7 @@ class journal_flusher_co
|
||||||
std::map<object_id, uint64_t>::iterator repeat_it;
|
std::map<object_id, uint64_t>::iterator repeat_it;
|
||||||
std::function<void(ring_data_t*)> simple_callback_r, simple_callback_rj, simple_callback_w;
|
std::function<void(ring_data_t*)> simple_callback_r, simple_callback_rj, simple_callback_w;
|
||||||
|
|
||||||
|
bool try_trim = false;
|
||||||
bool skip_copy, has_delete, has_writes;
|
bool skip_copy, has_delete, has_writes;
|
||||||
std::vector<copy_buffer_t> v;
|
std::vector<copy_buffer_t> v;
|
||||||
std::vector<copy_buffer_t>::iterator it;
|
std::vector<copy_buffer_t>::iterator it;
|
||||||
|
|
Loading…
Reference in New Issue