]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commitdiff
Reduce blob db noisy logging
authorYi Wu <yiwu@fb.com>
Thu, 20 Jul 2017 21:52:58 +0000 (14:52 -0700)
committerYi Wu <yiwu@fb.com>
Fri, 28 Jul 2017 16:40:33 +0000 (09:40 -0700)
Summary:
Remove some of the per-key logging by blob db to reduce noise.
Closes https://github.com/facebook/rocksdb/pull/2587

Differential Revision: D5429115

Pulled By: yiwu-arbug

fbshipit-source-id: b89328282fb8b3c64923ce48738c16017ce7feaf

utilities/blob_db/blob_db_impl.cc

index 6ee91d5f96b8e34f72e66857402b7bb71988a406..1dd72b6bc3a7ffbe7b49e8a945c372e4c38c86f0 100644 (file)
@@ -59,20 +59,14 @@ namespace rocksdb {
 namespace blob_db {
 
 struct GCStats {
-  uint64_t blob_count;
-  uint64_t num_deletes;
-  uint64_t deleted_size;
-  uint64_t num_relocs;
-  uint64_t succ_deletes_lsm;
-  uint64_t succ_relocs;
-  std::shared_ptr<BlobFile> newfile;
-  GCStats()
-      : blob_count(0),
-        num_deletes(0),
-        deleted_size(0),
-        num_relocs(0),
-        succ_deletes_lsm(0),
-        succ_relocs(0) {}
+  uint64_t blob_count = 0;
+  uint64_t num_deletes = 0;
+  uint64_t deleted_size = 0;
+  uint64_t num_relocs = 0;
+  uint64_t succ_deletes_lsm = 0;
+  uint64_t overrided_while_delete = 0;
+  uint64_t succ_relocs = 0;
+  std::shared_ptr<BlobFile> newfile = nullptr;
 };
 
 // BlobHandle is a pointer to the blob that is stored in the LSM
@@ -1487,8 +1481,6 @@ bool BlobDBImpl::FindFileAndEvictABlob(uint64_t file_number, uint64_t key_size,
 
     // file was deleted
     if (hitr == blob_files_.end()) {
-      ROCKS_LOG_INFO(db_options_.info_log,
-                     "Could not find file_number %" PRIu64, file_number);
       return false;
     }
 
@@ -1522,24 +1514,22 @@ std::pair<bool, int64_t> BlobDBImpl::EvictCompacted(bool aborted) {
   if (aborted) return std::make_pair(false, -1);
 
   override_packet_t packet;
+  size_t total_vals = 0;
+  size_t mark_evicted = 0;
   while (override_vals_q_.dequeue(&packet)) {
-    bool succ = FindFileAndEvictABlob(packet.file_number_, packet.key_size_,
-                                      packet.blob_offset_, packet.blob_size_);
-
-    if (!succ)
-      ROCKS_LOG_DEBUG(
-          db_options_.info_log,
-          "EVICT COMPACTION FAILURE SN: %d FN: %d OFFSET: %d SIZE: %d",
-          packet.dsn_, packet.file_number_, packet.blob_offset_,
-          packet.blob_size_);
-
-    if (debug_level_ >= 3)
-      ROCKS_LOG_INFO(
-          db_options_.info_log,
-          "EVICT COMPACTED SN: %d FN: %d OFFSET: %d SIZE: %d SUCC: %d",
-          packet.dsn_, packet.file_number_, packet.blob_offset_,
-          packet.blob_size_, succ);
+    bool succeeded =
+        FindFileAndEvictABlob(packet.file_number_, packet.key_size_,
+                              packet.blob_offset_, packet.blob_size_);
+    total_vals++;
+    if (succeeded) {
+      mark_evicted++;
+    }
   }
+  ROCKS_LOG_INFO(db_options_.info_log,
+                 "Mark %" ROCKSDB_PRIszt
+                 " values to evict, out of %" ROCKSDB_PRIszt
+                 " compacted values.",
+                 mark_evicted, total_vals);
   return std::make_pair(true, -1);
 }
 
@@ -1810,21 +1800,11 @@ Status BlobDBImpl::GCFileAndUpdateLSM(const std::shared_ptr<BlobFile>& bfptr,
       txn->Delete(cfh, record.Key());
       Status s1 = txn->Commit();
       // chances that this DELETE will fail is low. If it fails, it would be
-      // because
-      // a new version of the key came in at this time, which will override
-      // the current version being iterated on.
-      if (s1.IsBusy()) {
-        ROCKS_LOG_INFO(db_options_.info_log,
-                       "Optimistic transaction failed delete: %s bn: %" PRIu32,
-                       bfptr->PathName().c_str(), gcstats->blob_count);
-      } else {
-        ROCKS_LOG_DEBUG(
-            db_options_.info_log,
-            "Successfully added delete back into LSM: %s bn: %" PRIu32,
-            bfptr->PathName().c_str(), gcstats->blob_count);
-
+      // because a new version of the key came in at this time, which will
+      // override the current version being iterated on.
+      if (!s1.IsBusy()) {
         // assume that failures happen due to new writes.
-        gcstats->succ_deletes_lsm++;
+        gcstats->overrided_while_delete++;
       }
       delete txn;
       continue;