diff --git a/src/os/MemStore.cc b/src/os/MemStore.cc index fdf3ee5bcf7..0d1303cfb7a 100644 --- a/src/os/MemStore.cc +++ b/src/os/MemStore.cc @@ -640,13 +640,17 @@ ObjectMap::ObjectMapIterator MemStore::get_omap_iterator(coll_t cid, int MemStore::queue_transactions(Sequencer *osr, list& tls, - TrackedOpRef op) + TrackedOpRef op, + ThreadPool::TPHandle *handle) { // fixme: ignore the Sequencer and serialize everything. Mutex::Locker l(apply_lock); - for (list::iterator p = tls.begin(); p != tls.end(); ++p) + for (list::iterator p = tls.begin(); p != tls.end(); ++p) { + // poke the TPHandle heartbeat just to exercise that code path + handle->reset_tp_timeout(); _do_transaction(**p); + } Context *on_apply = NULL, *on_apply_sync = NULL, *on_commit = NULL; ObjectStore::Transaction::collect_contexts(tls, &on_apply, &on_commit, diff --git a/src/os/MemStore.h b/src/os/MemStore.h index 9c4d0037a51..423ea7a5555 100644 --- a/src/os/MemStore.h +++ b/src/os/MemStore.h @@ -348,7 +348,8 @@ public: int queue_transactions( Sequencer *osr, list& tls, - TrackedOpRef op = TrackedOpRef()); + TrackedOpRef op = TrackedOpRef(), + ThreadPool::TPHandle *handle = NULL); };