|
21 | 21 | /// @author Vasiliy Nabatchikov |
22 | 22 | //////////////////////////////////////////////////////////////////////////////// |
23 | 23 |
|
| 24 | +#include <iostream> |
24 | 25 | #include "index/composite_reader_impl.hpp" |
25 | 26 | #include "index/index_meta.hpp" |
26 | 27 | #include "index/index_writer.hpp" |
@@ -912,7 +913,29 @@ TEST(ConsolidationTierTest, NoCandidates) { |
912 | 913 |
|
913 | 914 | irs::Consolidation candidates; |
914 | 915 | policy(candidates, reader, consolidating_segments); |
915 | | - ASSERT_TRUE(candidates.empty()); // candidates too large |
| 916 | + ASSERT_FALSE(candidates.empty()); |
| 917 | + |
| 918 | + // Verify that the consolidation candidate mergeScore <= 1.5 |
| 919 | + |
| 920 | + // Accessor function to fetch the relevant segment attributes |
| 921 | + // from the segment struct. |
| 922 | + auto getSegmentDims = []( |
| 923 | + tier::ConsolidationCandidate<irs::Consolidation::value_type>::iterator_t reader_itr, |
| 924 | + uint64_t& byte_size, |
| 925 | + uint64_t& docs_count, |
| 926 | + uint64_t& live_docs_count) { |
| 927 | + |
| 928 | + auto reader = *reader_itr; |
| 929 | + auto meta = reader->Meta(); |
| 930 | + |
| 931 | + byte_size = meta.byte_size; |
| 932 | + docs_count = meta.docs_count; |
| 933 | + live_docs_count = meta.live_docs_count; |
| 934 | + }; |
| 935 | + |
| 936 | + tier::ConsolidationCandidate<irs::Consolidation::value_type> consolidation_candidate( |
| 937 | + candidates.cbegin(), candidates.cend() - 1, getSegmentDims); |
| 938 | + ASSERT_LE(consolidation_candidate.mergeScore, 1.5); |
916 | 939 | } |
917 | 940 |
|
918 | 941 | TEST(ConsolidationTierTest, SkewedSegments) { |
|
0 commit comments