]> git-server-git.apps.pok.os.sepia.ceph.com Git - rocksdb.git/commitdiff
Fix compaction_job_test
authorIgor Canadi <icanadi@fb.com>
Mon, 6 Jul 2015 18:14:08 +0000 (11:14 -0700)
committeragiardullo <agiardullo@fb.com>
Tue, 7 Jul 2015 19:35:36 +0000 (12:35 -0700)
Summary:
Two issues:
* the input keys to the compaction don't include sequence number.
* sequence number is set to max(seq_num), but it should be set to max(seq_num)+1, because the condition here is strictly-larger (i.e. we will only zero-out sequence number if the DB's sequence number is strictly greater than the key's sequence number): https://github.com/facebook/rocksdb/blob/master/db/compaction_job.cc#L830

Test Plan: make compaction_job_test && ./compaction_job_test

Reviewers: sdong, lovro

Reviewed By: lovro

Subscribers: dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D41247
(cherry picked from commit 155ce60dafbc3841da73eedf0d9dc6c4fabd8404)

db/compaction_job_test.cc

index 79d12d8a78e94dcf85abaa5f56ed0f3275c230f3..7eed7e4909b117f36ae347b0a7c965010e20286f 100644 (file)
@@ -76,11 +76,10 @@ class CompactionJobTest : public testing::Test {
           largest = internal_key;
           largest_seqno = sequence_number;
         }
-        std::pair<std::string, std::string> key_value(
-            {bottommost_internal_key.Encode().ToString(), value});
-        contents.insert(key_value);
+        contents.insert({internal_key.Encode().ToString(), value});
         if (i == 1 || k < kKeysPerFile / 2) {
-          expected_results.insert(key_value);
+          expected_results.insert(
+              {bottommost_internal_key.Encode().ToString(), value});
         }
       }
 
@@ -97,7 +96,7 @@ class CompactionJobTest : public testing::Test {
                              mutable_cf_options_, &edit, &mutex_);
       mutex_.Unlock();
     }
-    versions_->SetLastSequence(sequence_number);
+    versions_->SetLastSequence(sequence_number + 1);
     return expected_results;
   }