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: commits-unsubscr...@pinot.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org