summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@yahoo-inc.com>2017-05-12 12:20:52 +0000
committerTor Egge <Tor.Egge@yahoo-inc.com>2017-05-12 12:20:52 +0000
commit2e671855a30e38dd447dfeabdc201d7dd2157fbe (patch)
treea0b89bf7ae9e6285ae28d5b6f540d471ee98cfe0 /searchcore
parentcd8125caa2b91d42b697a2b29702be35734001bb (diff)
Stop trying to extend lid space in compactLidSpace().
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/tests/proton/documentdb/feedview/feedview_test.cpp36
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);
}