diff options
author | Tor Egge <Tor.Egge@yahoo-inc.com> | 2017-05-12 12:20:52 +0000 |
---|---|---|
committer | Tor Egge <Tor.Egge@yahoo-inc.com> | 2017-05-12 12:20:52 +0000 |
commit | 2e671855a30e38dd447dfeabdc201d7dd2157fbe (patch) | |
tree | a0b89bf7ae9e6285ae28d5b6f540d471ee98cfe0 /searchcore | |
parent | cd8125caa2b91d42b697a2b29702be35734001bb (diff) |
Stop trying to extend lid space in compactLidSpace().
Diffstat (limited to 'searchcore')
-rw-r--r-- | searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp b/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp index bdc0fc5f15c..280b617246b 100644 --- a/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp +++ b/searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp @@ -690,6 +690,7 @@ struct FixtureBase void assertChangeNotified(document::GlobalId gid, uint32_t expLid) { _gidToLidChangeHandler->assertLid(gid, expLid); } + void populateBeforeCompactLidSpace(); }; @@ -720,6 +721,14 @@ FixtureBase::FixtureBase(TimeStamp visibilityDelay) FixtureBase::~FixtureBase() { _writeServiceReal.sync(); } + +void +FixtureBase::populateBeforeCompactLidSpace() +{ + putAndWait(makeDummyDocs(0, 2, 1000)); + removeAndWait(makeDummyDocs(1, 1, 2000)); +} + struct SearchableFeedViewFixture : public FixtureBase { SearchableFeedView fv; @@ -1135,17 +1144,16 @@ TEST_F("require that compactLidSpace() propagates to document meta store and doc "blocks lid space shrinkage until generation is no longer used", SearchableFeedViewFixture) { - EXPECT_TRUE(assertThreadObserver(1, 0, f.writeServiceObserver())); - CompactLidSpaceOperation op(0, 99); - op.setSerialNum(1); - f.runInMaster([&] () { f.fv.handleCompactLidSpace(op); }); + f.populateBeforeCompactLidSpace(); + EXPECT_TRUE(assertThreadObserver(5, 3, f.writeServiceObserver())); + f.compactLidSpaceAndWait(2); // performIndexForceCommit in index thread, then completion callback // in master thread. - EXPECT_TRUE(assertThreadObserver(3, 1, f.writeServiceObserver())); - EXPECT_EQUAL(99u, f.metaStoreObserver()._compactLidSpaceLidLimit); - EXPECT_EQUAL(99u, f.getDocumentStore()._compactLidSpaceLidLimit); + EXPECT_TRUE(assertThreadObserver(7, 4, f.writeServiceObserver())); + EXPECT_EQUAL(2u, f.metaStoreObserver()._compactLidSpaceLidLimit); + EXPECT_EQUAL(2u, f.getDocumentStore()._compactLidSpaceLidLimit); EXPECT_EQUAL(1u, f.metaStoreObserver()._holdUnblockShrinkLidSpaceCnt); - EXPECT_EQUAL(99u, f._docIdLimit.get()); + EXPECT_EQUAL(2u, f._docIdLimit.get()); } TEST_F("require that compactLidSpace() doesn't propagate to " @@ -1153,12 +1161,13 @@ TEST_F("require that compactLidSpace() doesn't propagate to " "blocks lid space shrinkage until generation is no longer used", SearchableFeedViewFixture) { - EXPECT_TRUE(assertThreadObserver(1, 0, f.writeServiceObserver())); - CompactLidSpaceOperation op(0, 99); + f.populateBeforeCompactLidSpace(); + EXPECT_TRUE(assertThreadObserver(5, 3, f.writeServiceObserver())); + CompactLidSpaceOperation op(0, 2); op.setSerialNum(0); f.runInMaster([&] () { f.fv.handleCompactLidSpace(op); }); // Delayed holdUnblockShrinkLidSpace() in index thread, then master thread - EXPECT_TRUE(assertThreadObserver(2, 0, f.writeServiceObserver())); + EXPECT_TRUE(assertThreadObserver(6, 3, f.writeServiceObserver())); EXPECT_EQUAL(0u, f.metaStoreObserver()._compactLidSpaceLidLimit); EXPECT_EQUAL(0u, f.getDocumentStore()._compactLidSpaceLidLimit); EXPECT_EQUAL(0u, f.metaStoreObserver()._holdUnblockShrinkLidSpaceCnt); @@ -1167,8 +1176,9 @@ TEST_F("require that compactLidSpace() doesn't propagate to " TEST_F("require that compactLidSpace() propagates to attributeadapter", FastAccessFeedViewFixture) { - f.runInMaster([&] () { f.fv.handleCompactLidSpace(CompactLidSpaceOperation(0, 99)); }); - EXPECT_EQUAL(99u, f.maw._wantedLidLimit); + f.populateBeforeCompactLidSpace(); + f.compactLidSpaceAndWait(2); + EXPECT_EQUAL(2u, f.maw._wantedLidLimit); } |