diff options
author | Geir Storli <geirst@verizonmedia.com> | 2021-01-07 12:46:45 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-07 12:46:45 +0100 |
commit | 09728ba19e31999d5c1ab3d708882456e06d8d6f (patch) | |
tree | 36fe7858e742f1c7694c35ac2f01d49319b52dd6 /searchlib | |
parent | 5c1096afe9f2db748f6e8d3c559021101fd8ae6c (diff) | |
parent | 3f82507f55cd98baeca7e2d098b46a75166549b8 (diff) |
Merge pull request #15937 from vespa-engine/toregge/stop-fusion-when-closing-flush-engine
Stop fusion when closing flush engine.
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/tests/diskindex/fusion/fusion_test.cpp | 6 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/util/postingpriorityqueue.h | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/searchlib/src/tests/diskindex/fusion/fusion_test.cpp b/searchlib/src/tests/diskindex/fusion/fusion_test.cpp index efc9e99bf88..4c62140b731 100644 --- a/searchlib/src/tests/diskindex/fusion/fusion_test.cpp +++ b/searchlib/src/tests/diskindex/fusion/fusion_test.cpp @@ -602,15 +602,15 @@ TEST_F(FusionTest, require_that_fusion_can_be_stopped) auto flush_token = std::make_shared<MyFlushToken>(10000); make_simple_index("stopdump2", MockFieldLengthInspector()); ASSERT_TRUE(try_merge_simple_indexes("stopdump3", {"stopdump2"}, flush_token)); - EXPECT_EQ(40, flush_token->get_checks()); + EXPECT_EQ(48, flush_token->get_checks()); vespalib::rmdir("stopdump3", true); flush_token = std::make_shared<MyFlushToken>(1); ASSERT_FALSE(try_merge_simple_indexes("stopdump3", {"stopdump2"}, flush_token)); EXPECT_EQ(12, flush_token->get_checks()); vespalib::rmdir("stopdump3", true); - flush_token = std::make_shared<MyFlushToken>(39); + flush_token = std::make_shared<MyFlushToken>(47); ASSERT_FALSE(try_merge_simple_indexes("stopdump3", {"stopdump2"}, flush_token)); - EXPECT_EQ(41, flush_token->get_checks()); + EXPECT_EQ(49, flush_token->get_checks()); clean_stopped_fusion_testdirs(); } diff --git a/searchlib/src/vespa/searchlib/util/postingpriorityqueue.h b/searchlib/src/vespa/searchlib/util/postingpriorityqueue.h index baf38035210..008e9055e57 100644 --- a/searchlib/src/vespa/searchlib/util/postingpriorityqueue.h +++ b/searchlib/src/vespa/searchlib/util/postingpriorityqueue.h @@ -221,7 +221,7 @@ PostingPriorityQueue<IN>::merge(OUT &out, uint32_t heapLimit, const IFlushToken& (this->*mergeHeapFunc)(out, flush_token); return; } - for (;;) { + while (!flush_token.stop_requested()) { if (_vec.size() == 1) { void (*mergeOneFunc)(OUT &out, IN &in, const IFlushToken& flush_token) = &PostingPriorityQueue<IN>::mergeOne; |