aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2019-08-27 11:42:57 +0200
committerTor Egge <Tor.Egge@broadpark.no>2019-08-27 11:44:11 +0200
commitbfda7c6337fdee7843a7004fbecceb8694d153d7 (patch)
treefbcef2cc977a5d9756daa7c10965fd69c6c4fd7c /searchlib
parent6130643ad1dd31064b47fcac4d07a3a590cbdf29 (diff)
Also update compaction count for old style compaction.
Test that compaction count is updated when compacting enum store. Style fixes.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/tests/attribute/enumeratedsave/enumeratedsave_test.cpp2
-rw-r--r--searchlib/src/tests/attribute/enumstore/enumstore_test.cpp5
-rw-r--r--searchlib/src/vespa/searchlib/attribute/multienumattributesaver.cpp2
3 files changed, 7 insertions, 2 deletions
diff --git a/searchlib/src/tests/attribute/enumeratedsave/enumeratedsave_test.cpp b/searchlib/src/tests/attribute/enumeratedsave/enumeratedsave_test.cpp
index b9feeb124ce..785f8f03737 100644
--- a/searchlib/src/tests/attribute/enumeratedsave/enumeratedsave_test.cpp
+++ b/searchlib/src/tests/attribute/enumeratedsave/enumeratedsave_test.cpp
@@ -513,7 +513,7 @@ EnumeratedSaveTest::saveMemDuringCompaction(AttributeVector &v)
if (enum_store_base != nullptr) {
auto saver = v.onInitSave(v.getBaseFileName());
// Simulate compaction
- enum_store_base->get_data_store_base().bump_compaction_count();
+ enum_store_base->get_data_store_base().inc_compaction_count();
auto save_result = saver->save(*res);
EXPECT_EQUAL(!v.hasMultiValue(), save_result);
}
diff --git a/searchlib/src/tests/attribute/enumstore/enumstore_test.cpp b/searchlib/src/tests/attribute/enumstore/enumstore_test.cpp
index 3a70073226c..f91e5b01bcb 100644
--- a/searchlib/src/tests/attribute/enumstore/enumstore_test.cpp
+++ b/searchlib/src/tests/attribute/enumstore/enumstore_test.cpp
@@ -459,6 +459,9 @@ EnumStoreTest::testCompaction(bool hasPostings)
EXPECT_TRUE(!ses.findIndex("enum00", idx));
EXPECT_EQUAL(entrySize + RESERVED_BYTES, ses.getBuffer(0).getDeadElems());
+ auto &data_store_base = ses.get_data_store_base();
+ auto old_compaction_count = data_store_base.get_compaction_count();
+
// perform compaction
EnumStoreBase::EnumIndexMap old2New;
EXPECT_TRUE(ses.performCompaction(3 * entrySize, old2New));
@@ -467,6 +470,8 @@ EnumStoreTest::testCompaction(bool hasPostings)
EXPECT_TRUE(ses.getBuffer(1).size() == entrySize * 4);
EXPECT_TRUE(ses.getBuffer(1).getDeadElems() == 0);
+ EXPECT_NOT_EQUAL(old_compaction_count, data_store_base.get_compaction_count());
+
EXPECT_EQUAL(3u, ses.getLastEnum());
// add new unique strings
diff --git a/searchlib/src/vespa/searchlib/attribute/multienumattributesaver.cpp b/searchlib/src/vespa/searchlib/attribute/multienumattributesaver.cpp
index 36130f378f1..32f46d859bc 100644
--- a/searchlib/src/vespa/searchlib/attribute/multienumattributesaver.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/multienumattributesaver.cpp
@@ -118,7 +118,7 @@ onSave(IAttributeSaveTarget &saveTarget)
countWriter.writeCount(handle.size());
weightWriter.writeWeights(handle);
datWriter.writeValues(handle);
- if (((docId & 0xfff) == 0) && compaction_interferred()) {
+ if (((docId % 0x1000) == 0) && compaction_interferred()) {
compaction_broke_save = true;
break;
}