siddharthteotia commented on code in PR #9868:
URL: https://github.com/apache/pinot/pull/9868#discussion_r1035613884
##########
pinot-segment-local/src/test/java/org/apache/pinot/segment/local/segment/index/loader/SegmentPreProcessorTest.java:
##########
@@ -500,6 +494,123 @@ public void testEnableDictAndOtherIndexesMV()
false, 13, null, false, DataType.INT, 106688);
}
+ @Test
+ public void testSimpleDisableDictionary()
+ throws Exception {
+ // TEST 1. Check running forwardIndexHandler on a V1 segment. No-op for
all existing dict columns.
+ constructV1Segment(Collections.emptyList(), Collections.emptyList(),
Collections.emptyList());
+ checkForwardIndexCreation(EXISTING_STRING_COL_DICT, 9, 4, _schema, false,
true, false, 26, null, true, 0,
+ DataType.STRING, 100000);
+ validateIndex(ColumnIndexType.FORWARD_INDEX, COLUMN10_NAME, 3960, 12,
_schema, false, true, false, 0, true, 0, null,
+ false, DataType.INT, 100000);
+
+ // Convert the segment to V3.
+ new SegmentV1V2ToV3FormatConverter().convert(_indexDir);
+
+ // TEST 2: Disable dictionary for EXISTING_STRING_COL_DICT.
Review Comment:
Query based tests will certainly help to check correctness before and after.
I think you already have that. May be we can come up with a test query where
range predicate is full match and thus results in reading the entire range
index ?
##########
pinot-segment-local/src/test/java/org/apache/pinot/segment/local/segment/index/loader/SegmentPreProcessorTest.java:
##########
@@ -500,6 +494,123 @@ public void testEnableDictAndOtherIndexesMV()
false, 13, null, false, DataType.INT, 106688);
}
+ @Test
+ public void testSimpleDisableDictionary()
+ throws Exception {
+ // TEST 1. Check running forwardIndexHandler on a V1 segment. No-op for
all existing dict columns.
+ constructV1Segment(Collections.emptyList(), Collections.emptyList(),
Collections.emptyList());
+ checkForwardIndexCreation(EXISTING_STRING_COL_DICT, 9, 4, _schema, false,
true, false, 26, null, true, 0,
+ DataType.STRING, 100000);
+ validateIndex(ColumnIndexType.FORWARD_INDEX, COLUMN10_NAME, 3960, 12,
_schema, false, true, false, 0, true, 0, null,
+ false, DataType.INT, 100000);
+
+ // Convert the segment to V3.
+ new SegmentV1V2ToV3FormatConverter().convert(_indexDir);
+
+ // TEST 2: Disable dictionary for EXISTING_STRING_COL_DICT.
Review Comment:
Query based tests will certainly help to check correctness before and after.
I think you already have that. May be we can come up with another test query
where range predicate is full match and thus results in reading the entire
range index ?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]