]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/rocksdb/trace_replay/trace_replay.cc
import quincy beta 17.1.0
[ceph.git] / ceph / src / rocksdb / trace_replay / trace_replay.cc
index a0f9a504f08e37a99d36ada32b724e23841cfc3f..949cd450d01b8cb6df3c0305beda78806b2906ab 100644 (file)
@@ -62,7 +62,8 @@ Tracer::Tracer(Env* env, const TraceOptions& trace_options,
       trace_options_(trace_options),
       trace_writer_(std::move(trace_writer)),
       trace_request_count_ (0) {
-  WriteHeader();
+  // TODO: What if this fails?
+  WriteHeader().PermitUncheckedError();
 }
 
 Tracer::~Tracer() { trace_writer_.reset(); }
@@ -321,6 +322,7 @@ Status Replayer::MultiThreadReplay(uint32_t threads_num) {
     if (!s.ok()) {
       break;
     }
+    ra->cf_map = &cf_map_;
     ra->woptions = woptions;
     ra->roptions = roptions;
 
@@ -407,6 +409,7 @@ Status Replayer::ReadTrace(Trace* trace) {
 void Replayer::BGWorkGet(void* arg) {
   std::unique_ptr<ReplayerWorkerArg> ra(
       reinterpret_cast<ReplayerWorkerArg*>(arg));
+  assert(ra != nullptr);
   auto cf_map = static_cast<std::unordered_map<uint32_t, ColumnFamilyHandle*>*>(
       ra->cf_map);
   uint32_t cf_id = 0;
@@ -429,6 +432,7 @@ void Replayer::BGWorkGet(void* arg) {
 void Replayer::BGWorkWriteBatch(void* arg) {
   std::unique_ptr<ReplayerWorkerArg> ra(
       reinterpret_cast<ReplayerWorkerArg*>(arg));
+  assert(ra != nullptr);
   WriteBatch batch(ra->trace_entry.payload);
   ra->db->Write(ra->woptions, &batch);
   return;
@@ -437,6 +441,7 @@ void Replayer::BGWorkWriteBatch(void* arg) {
 void Replayer::BGWorkIterSeek(void* arg) {
   std::unique_ptr<ReplayerWorkerArg> ra(
       reinterpret_cast<ReplayerWorkerArg*>(arg));
+  assert(ra != nullptr);
   auto cf_map = static_cast<std::unordered_map<uint32_t, ColumnFamilyHandle*>*>(
       ra->cf_map);
   uint32_t cf_id = 0;
@@ -461,6 +466,7 @@ void Replayer::BGWorkIterSeek(void* arg) {
 void Replayer::BGWorkIterSeekForPrev(void* arg) {
   std::unique_ptr<ReplayerWorkerArg> ra(
       reinterpret_cast<ReplayerWorkerArg*>(arg));
+  assert(ra != nullptr);
   auto cf_map = static_cast<std::unordered_map<uint32_t, ColumnFamilyHandle*>*>(
       ra->cf_map);
   uint32_t cf_id = 0;