OPTION(bluestore_debug_prefill, OPT_FLOAT, 0)
OPTION(bluestore_debug_prefragment_max, OPT_INT, 1048576)
OPTION(bluestore_debug_inject_read_err, OPT_BOOL, false)
+OPTION(bluestore_debug_randomize_serial_transaction, OPT_INT, 0)
OPTION(bluestore_inject_wal_apply_delay, OPT_FLOAT, 0)
OPTION(bluestore_shard_finishers, OPT_BOOL, false)
// sequencer that is committing serially it is possible to keep
// submitting new transactions fast enough that we get stuck doing
// so. the alternative is to block here... fixme?
+ } else if (g_conf->bluestore_debug_randomize_serial_transaction &&
+ rand() % g_conf->bluestore_debug_randomize_serial_transaction
+ == 0) {
+ dout(20) << __func__ << " DEBUG randomly forcing submit via kv thread"
+ << dendl;
} else {
_txc_finalize_kv(txc, txc->t);
txc->kv_submitted = true;
g_ceph_context->_conf->set_val("bluestore_buffer_cache_size", "2000000");
g_ceph_context->_conf->set_val("bluestore_onode_cache_size", "500");
+ // very short *_max prealloc so that we fall back to async submits
+ g_ceph_context->_conf->set_val("bluestore_blobid_prealloc", "10");
+ g_ceph_context->_conf->set_val("bluestore_nid_prealloc", "10");
+ g_ceph_context->_conf->set_val("bluestore_debug_randomize_serial_transaction",
+ "10");
+
// specify device size
g_ceph_context->_conf->set_val("bluestore_block_size", "10240000000");