|
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" |
@@ -890,7 +891,29 @@ TEST(ConsolidationTierTest, NoCandidates) { |
890 | 891 |
|
891 | 892 | irs::Consolidation candidates; |
892 | 893 | policy(candidates, reader, consolidating_segments); |
893 | | - ASSERT_TRUE(candidates.empty()); // candidates too large |
| 894 | + ASSERT_FALSE(candidates.empty()); |
| 895 | + |
| 896 | + // Verify that the consolidation candidate mergeScore <= 1.5 |
| 897 | + |
| 898 | + // Accessor function to fetch the relevant segment attributes |
| 899 | + // from the segment struct. |
| 900 | + auto getSegmentDims = []( |
| 901 | + tier::ConsolidationCandidate<irs::Consolidation::value_type>::iterator_t reader_itr, |
| 902 | + uint64_t& byte_size, |
| 903 | + uint64_t& docs_count, |
| 904 | + uint64_t& live_docs_count) { |
| 905 | + |
| 906 | + auto reader = *reader_itr; |
| 907 | + auto meta = reader->Meta(); |
| 908 | + |
| 909 | + byte_size = meta.byte_size; |
| 910 | + docs_count = meta.docs_count; |
| 911 | + live_docs_count = meta.live_docs_count; |
| 912 | + }; |
| 913 | + |
| 914 | + tier::ConsolidationCandidate<irs::Consolidation::value_type> consolidation_candidate( |
| 915 | + candidates.cbegin(), candidates.cend() - 1, getSegmentDims); |
| 916 | + ASSERT_LE(consolidation_candidate.mergeScore, 1.5); |
894 | 917 | } |
895 | 918 |
|
896 | 919 | TEST(ConsolidationTierTest, SkewedSegments) { |
|
0 commit comments