diff --git a/src/client/cluster_client.h b/src/client/cluster_client.h index cb7ef496..a80f60c2 100644 --- a/src/client/cluster_client.h +++ b/src/client/cluster_client.h @@ -86,8 +86,8 @@ class cluster_client_t #ifdef __MOCK__ public: #endif - timerfd_manager_t *tfd; - ring_loop_t *ringloop; + timerfd_manager_t *tfd = NULL; + ring_loop_t *ringloop = NULL; std::map pg_counts; std::map pg_primary; diff --git a/src/kv/kv_db.cpp b/src/kv/kv_db.cpp index 8583ec10..2343a3aa 100644 --- a/src/kv/kv_db.cpp +++ b/src/kv/kv_db.cpp @@ -870,7 +870,7 @@ static void get_block(kv_db_t *db, uint64_t offset, int cur_level, int recheck_p } // Block already in cache, we can proceed blk->usage = db->usage_counter; - cb(0, BLK_UPDATING); + db->cli->msgr.ringloop->set_immediate([=] { cb(0, BLK_UPDATING); }); return; } cluster_op_t *op = new cluster_op_t;