Fix vitastor-kv hang on reopen & unfinished closed listing
Test / buildenv (push) Successful in 8s
Details
Test / build (push) Successful in 3m31s
Details
Test / test_cas (push) Successful in 8s
Details
Test / make_test (push) Successful in 35s
Details
Test / test_change_pg_count (push) Successful in 36s
Details
Test / test_change_pg_count_ec (push) Successful in 35s
Details
Test / test_add_osd (push) Successful in 1m26s
Details
Test / test_change_pg_size (push) Successful in 7s
Details
Test / test_create_nomaxid (push) Successful in 7s
Details
Test / test_etcd_fail (push) Successful in 1m30s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 2m27s
Details
Test / test_interrupted_rebalance (push) Successful in 2m31s
Details
Test / test_failure_domain (push) Successful in 10s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m24s
Details
Test / test_snapshot (push) Successful in 25s
Details
Test / test_snapshot_ec (push) Successful in 26s
Details
Test / test_minsize_1 (push) Successful in 14s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 3m9s
Details
Test / test_move_reappear (push) Successful in 20s
Details
Test / test_rm (push) Successful in 12s
Details
Test / test_snapshot_down (push) Successful in 28s
Details
Test / test_snapshot_down_ec (push) Successful in 29s
Details
Test / test_splitbrain (push) Successful in 21s
Details
Test / test_snapshot_chain (push) Successful in 2m27s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m53s
Details
Test / test_rebalance_verify_imm (push) Successful in 4m16s
Details
Test / test_rebalance_verify (push) Successful in 4m50s
Details
Test / test_switch_primary (push) Successful in 36s
Details
Test / test_write (push) Successful in 46s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m30s
Details
Test / test_write_no_same (push) Successful in 16s
Details
Test / test_write_xor (push) Successful in 1m27s
Details
Test / test_rebalance_verify_ec (push) Successful in 7m18s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m0s
Details
Test / test_heal_ec (push) Successful in 4m3s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m55s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m17s
Details
Test / test_heal_csum_32k (push) Successful in 6m18s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m37s
Details
Test / test_scrub (push) Successful in 1m37s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m19s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m55s
Details
Test / test_scrub_xor (push) Successful in 50s
Details
Test / test_scrub_ec (push) Successful in 45s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m8s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m56s
Details
Test / test_heal_csum_4k (push) Successful in 5m39s
Details
Test / buildenv (push) Successful in 8s
Details
Test / build (push) Successful in 3m31s
Details
Test / test_cas (push) Successful in 8s
Details
Test / make_test (push) Successful in 35s
Details
Test / test_change_pg_count (push) Successful in 36s
Details
Test / test_change_pg_count_ec (push) Successful in 35s
Details
Test / test_add_osd (push) Successful in 1m26s
Details
Test / test_change_pg_size (push) Successful in 7s
Details
Test / test_create_nomaxid (push) Successful in 7s
Details
Test / test_etcd_fail (push) Successful in 1m30s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 2m27s
Details
Test / test_interrupted_rebalance (push) Successful in 2m31s
Details
Test / test_failure_domain (push) Successful in 10s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m24s
Details
Test / test_snapshot (push) Successful in 25s
Details
Test / test_snapshot_ec (push) Successful in 26s
Details
Test / test_minsize_1 (push) Successful in 14s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 3m9s
Details
Test / test_move_reappear (push) Successful in 20s
Details
Test / test_rm (push) Successful in 12s
Details
Test / test_snapshot_down (push) Successful in 28s
Details
Test / test_snapshot_down_ec (push) Successful in 29s
Details
Test / test_splitbrain (push) Successful in 21s
Details
Test / test_snapshot_chain (push) Successful in 2m27s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m53s
Details
Test / test_rebalance_verify_imm (push) Successful in 4m16s
Details
Test / test_rebalance_verify (push) Successful in 4m50s
Details
Test / test_switch_primary (push) Successful in 36s
Details
Test / test_write (push) Successful in 46s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m30s
Details
Test / test_write_no_same (push) Successful in 16s
Details
Test / test_write_xor (push) Successful in 1m27s
Details
Test / test_rebalance_verify_ec (push) Successful in 7m18s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m0s
Details
Test / test_heal_ec (push) Successful in 4m3s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m55s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m17s
Details
Test / test_heal_csum_32k (push) Successful in 6m18s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m37s
Details
Test / test_scrub (push) Successful in 1m37s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m19s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m55s
Details
Test / test_scrub_xor (push) Successful in 50s
Details
Test / test_scrub_ec (push) Successful in 45s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m8s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m56s
Details
Test / test_heal_csum_4k (push) Successful in 5m39s
Details
parent
d1f92d3cad
commit
56b7b18adf
|
@ -197,6 +197,7 @@ struct kv_op_t
|
|||
|
||||
void exec();
|
||||
void next(); // for list
|
||||
~kv_op_t();
|
||||
protected:
|
||||
int recheck_policy = KV_RECHECK_LEAF;
|
||||
bool started = false;
|
||||
|
@ -985,14 +986,24 @@ void kv_op_t::exec()
|
|||
finish(-ENOSYS);
|
||||
}
|
||||
|
||||
kv_op_t::~kv_op_t()
|
||||
{
|
||||
if (started && !done)
|
||||
{
|
||||
done = true;
|
||||
db->active_ops--;
|
||||
}
|
||||
}
|
||||
|
||||
void kv_op_t::finish(int res)
|
||||
{
|
||||
auto db = this->db;
|
||||
this->res = res;
|
||||
this->done = true;
|
||||
db->active_ops--;
|
||||
(std::function<void(kv_op_t *)>(callback))(this);
|
||||
if (!db->active_ops && db->closing)
|
||||
db->close(db->on_close);
|
||||
(std::function<void(kv_op_t *)>(callback))(this);
|
||||
}
|
||||
|
||||
void kv_op_t::get()
|
||||
|
|
|
@ -147,6 +147,8 @@ json11::Json::object kv_test_t::parse_args(int narg, const char *args[])
|
|||
" Fraction of key delete operations\n"
|
||||
" --list_prob 300\n"
|
||||
" Fraction of listing operations\n"
|
||||
" --reopen_prob 1\n"
|
||||
" Fraction of database reopens\n"
|
||||
" --min_key_len 10\n"
|
||||
" Minimum key size in bytes\n"
|
||||
" --max_key_len 70\n"
|
||||
|
@ -607,10 +609,8 @@ void kv_test_t::add_stat(kv_test_lat_t & stat, timespec tv_begin)
|
|||
int64_t usec = (tv_end.tv_sec - tv_begin.tv_sec)*1000000 +
|
||||
(tv_end.tv_nsec - tv_begin.tv_nsec)/1000;
|
||||
if (usec > 0)
|
||||
{
|
||||
stat.usec += usec;
|
||||
stat.count++;
|
||||
}
|
||||
stat.count++;
|
||||
}
|
||||
|
||||
void kv_test_t::print_stats(kv_test_stat_t & prev_stat, timespec & prev_stat_time)
|
||||
|
|
Loading…
Reference in New Issue