diff options
author | Tor Egge <Tor.Egge@broadpark.no> | 2019-08-27 11:42:57 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@broadpark.no> | 2019-08-27 11:44:11 +0200 |
commit | bfda7c6337fdee7843a7004fbecceb8694d153d7 (patch) | |
tree | fbcef2cc977a5d9756daa7c10965fd69c6c4fd7c /searchlib | |
parent | 6130643ad1dd31064b47fcac4d07a3a590cbdf29 (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')
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; } |