Apply recovery pause before writes, after commits, and do not apply it to syncs to not block EC pools from functioning
Test / buildenv (push) Successful in 12s
Details
Test / build (push) Successful in 2m38s
Details
Test / test_cas (push) Successful in 12s
Details
Test / test_change_pg_count (push) Successful in 38s
Details
Test / test_change_pg_size (push) Successful in 10s
Details
Test / test_change_pg_count_ec (push) Successful in 33s
Details
Test / test_create_nomaxid (push) Successful in 9s
Details
Test / test_etcd_fail (push) Successful in 1m0s
Details
Test / test_add_osd (push) Successful in 2m48s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 1m57s
Details
Test / test_interrupted_rebalance (push) Successful in 2m2s
Details
Test / test_failure_domain (push) Successful in 42s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 2m7s
Details
Test / test_snapshot (push) Successful in 1m1s
Details
Test / test_snapshot_ec (push) Successful in 28s
Details
Test / test_minsize_1 (push) Successful in 15s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m23s
Details
Test / test_rm (push) Successful in 14s
Details
Test / test_move_reappear (push) Successful in 24s
Details
Test / test_snapshot_down (push) Successful in 31s
Details
Test / test_snapshot_down_ec (push) Successful in 34s
Details
Test / test_splitbrain (push) Successful in 27s
Details
Test / test_snapshot_chain (push) Successful in 2m17s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m48s
Details
Test / test_rebalance_verify (push) Successful in 4m27s
Details
Test / test_switch_primary (push) Successful in 36s
Details
Test / test_write (push) Successful in 43s
Details
Test / test_write_xor (push) Successful in 38s
Details
Test / test_write_no_same (push) Successful in 16s
Details
Test / test_rebalance_verify_ec (push) Successful in 5m34s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 4m48s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m12s
Details
Test / test_heal_ec (push) Successful in 4m51s
Details
Test / make_test (push) Failing after 44s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m8s
Details
Test / test_heal_csum_32k_dj (push) Successful in 5m2s
Details
Test / test_heal_csum_32k (push) Successful in 6m1s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 5m58s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 57s
Details
Test / test_scrub (push) Successful in 1m7s
Details
Test / test_scrub_xor (push) Successful in 56s
Details
Test / test_heal_csum_4k (push) Successful in 6m22s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m24s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 43s
Details
Test / test_scrub_ec (push) Successful in 22s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m57s
Details
Test / test_snapshot_chain_ec (push) Successful in 1m25s
Details
Test / buildenv (push) Successful in 12s
Details
Test / build (push) Successful in 2m38s
Details
Test / test_cas (push) Successful in 12s
Details
Test / test_change_pg_count (push) Successful in 38s
Details
Test / test_change_pg_size (push) Successful in 10s
Details
Test / test_change_pg_count_ec (push) Successful in 33s
Details
Test / test_create_nomaxid (push) Successful in 9s
Details
Test / test_etcd_fail (push) Successful in 1m0s
Details
Test / test_add_osd (push) Successful in 2m48s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 1m57s
Details
Test / test_interrupted_rebalance (push) Successful in 2m2s
Details
Test / test_failure_domain (push) Successful in 42s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 2m7s
Details
Test / test_snapshot (push) Successful in 1m1s
Details
Test / test_snapshot_ec (push) Successful in 28s
Details
Test / test_minsize_1 (push) Successful in 15s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m23s
Details
Test / test_rm (push) Successful in 14s
Details
Test / test_move_reappear (push) Successful in 24s
Details
Test / test_snapshot_down (push) Successful in 31s
Details
Test / test_snapshot_down_ec (push) Successful in 34s
Details
Test / test_splitbrain (push) Successful in 27s
Details
Test / test_snapshot_chain (push) Successful in 2m17s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m48s
Details
Test / test_rebalance_verify (push) Successful in 4m27s
Details
Test / test_switch_primary (push) Successful in 36s
Details
Test / test_write (push) Successful in 43s
Details
Test / test_write_xor (push) Successful in 38s
Details
Test / test_write_no_same (push) Successful in 16s
Details
Test / test_rebalance_verify_ec (push) Successful in 5m34s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 4m48s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m12s
Details
Test / test_heal_ec (push) Successful in 4m51s
Details
Test / make_test (push) Failing after 44s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m8s
Details
Test / test_heal_csum_32k_dj (push) Successful in 5m2s
Details
Test / test_heal_csum_32k (push) Successful in 6m1s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 5m58s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 57s
Details
Test / test_scrub (push) Successful in 1m7s
Details
Test / test_scrub_xor (push) Successful in 56s
Details
Test / test_heal_csum_4k (push) Successful in 6m22s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m24s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 43s
Details
Test / test_scrub_ec (push) Successful in 22s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m57s
Details
Test / test_snapshot_chain_ec (push) Successful in 1m25s
Details
parent
4a4d6667c6
commit
cebe1c004f
|
@ -283,6 +283,7 @@ class osd_t
|
|||
void exec_sync_stab_all(osd_op_t *cur_op);
|
||||
void exec_show_config(osd_op_t *cur_op);
|
||||
void exec_secondary(osd_op_t *cur_op);
|
||||
void exec_secondary_real(osd_op_t *cur_op);
|
||||
void secondary_op_callback(osd_op_t *cur_op);
|
||||
|
||||
// primary ops
|
||||
|
|
|
@ -442,7 +442,7 @@ void osd_t::tune_recovery()
|
|||
if (recovery_target_sleep_count < recovery_tune_agg_interval)
|
||||
recovery_target_sleep_count++;
|
||||
recovery_target_sleep_us = recovery_target_sleep_total / recovery_target_sleep_count;
|
||||
if (log_level > 4)
|
||||
if (log_level > 1)
|
||||
{
|
||||
printf(
|
||||
"[OSD %lu] auto-tune: client util: %.2f, recovery util: %.2f, lat: %lu us -> target util %.2f, delay %lu us\n",
|
||||
|
|
|
@ -42,8 +42,10 @@ void osd_t::secondary_op_callback(osd_op_t *op)
|
|||
int retval = op->bs_op->retval;
|
||||
delete op->bs_op;
|
||||
op->bs_op = NULL;
|
||||
if (op->is_recovery_related() && recovery_target_sleep_us)
|
||||
if (op->is_recovery_related() && recovery_target_sleep_us &&
|
||||
op->req.hdr.opcode == OSD_OP_SEC_STABILIZE)
|
||||
{
|
||||
// Apply pause AFTER commit. Do not apply pause to SYNC at all
|
||||
if (!op->tv_end.tv_sec)
|
||||
{
|
||||
clock_gettime(CLOCK_REALTIME, &op->tv_end);
|
||||
|
@ -59,7 +61,25 @@ void osd_t::secondary_op_callback(osd_op_t *op)
|
|||
}
|
||||
}
|
||||
|
||||
void osd_t::exec_secondary(osd_op_t *cur_op)
|
||||
void osd_t::exec_secondary(osd_op_t *op)
|
||||
{
|
||||
if (op->is_recovery_related() && recovery_target_sleep_us &&
|
||||
op->req.hdr.opcode != OSD_OP_SEC_STABILIZE && op->req.hdr.opcode != OSD_OP_SEC_SYNC)
|
||||
{
|
||||
// Apply pause BEFORE write/delete
|
||||
tfd->set_timer_us(recovery_target_sleep_us, false, [this, op](int timer_id)
|
||||
{
|
||||
clock_gettime(CLOCK_REALTIME, &op->tv_begin);
|
||||
exec_secondary_real(op);
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
exec_secondary_real(op);
|
||||
}
|
||||
}
|
||||
|
||||
void osd_t::exec_secondary_real(osd_op_t *cur_op)
|
||||
{
|
||||
if (cur_op->req.hdr.opcode == OSD_OP_SEC_READ_BMP)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue