MeihanLi opened a new issue, #10691: URL: https://github.com/apache/pinot/issues/10691
We recently came into issues when creating star tree index for DISTINCTCOUNTBITMAP. BaseChunkSVForwardIndexWriter can not be initialized because the chunk size is larger than Integer.MAX_VALUE and this checking is introduced by #8286. And We are able to reproduce the issue on a table with only one small segment. Does anyone know why forward index are created (BaseSingleTreeBuilder: createForwardIndexes) in the process. And is this considered a bug/unexpected behavior or something else? Star-tree index config as below: ``` "enableDefaultStarTree": false, "starTreeIndexConfigs": [ { "dimensionsSplitOrder": [ "time_bucket_derived", "time_bucket" ], "skipStarNodeCreationForDimensions": [], "functionColumnPairs": [ "DISTINCTCOUNTBITMAP__active_riders" ], "maxLeafRecords": 0 } ], ``` columns metadata as below: ``` { "name": "time_bucket", "dataType": "LONG" }, { "name": "time_bucket_derived", "dataType": "LONG" }, { "name": "active_riders", "dataType": "BYTES", "defaultNullValue": "" }, Cardinality: time_bucket: 1440 time_bucket_derived: 24 Max length of active riders: 18360 ``` time_bucket_derived is configured as: ``` "ingestionConfig": { "transformConfigs": [ { "columnName": "time_bucket_derived", "transformFunction": "dateTimeConvert(time_bucket, '1:MILLISECONDS:EPOCH', '1:MILLISECONDS:EPOCH', '1:HOURS')" } ], ``` "diskSizeInBytes": 1158298974, "numSegments": 1, "numRows": 3260450, Errors as below: ``` 2023/04/26 13:55:06.884 ERROR [HelixInstanceDataManager] [pool-46-thread-1] Caught exception while reloading segment: rta_fact_trip_with_ten_dimensions_performance_testing_1682294399_1682294399_00000 in table: rta_fact_trip_with_ten_dimensions_performance_testing_OFFLINE java.lang.IllegalArgumentException: chunk size limited to 2GB at org.apache.pinot.shaded.com.google.common.base.Preconditions.checkArgument(Preconditions.java:122) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.io.writer.impl.BaseChunkSVForwardIndexWriter.<init>(BaseChunkSVForwardIndexWriter.java:77) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.io.writer.impl.VarByteChunkSVForwardIndexWriter.<init>(VarByteChunkSVForwardIndexWriter.java:81) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.segment.creator.impl.fwd.SingleValueVarByteRawIndexCreator.<init>(SingleValueVarByteRawIndexCreator.java:81) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.segment.creator.impl.fwd.SingleValueVarByteRawIndexCreator.<init>(SingleValueVarByteRawIndexCreator.java:59) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.startree.v2.builder.BaseSingleTreeBuilder.createForwardIndexes(BaseSingleTreeBuilder.java:476) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.startree.v2.builder.BaseSingleTreeBuilder.build(BaseSingleTreeBuilder.java:320) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.startree.v2.builder.OffHeapSingleTreeBuilder.build(OffHeapSingleTreeBuilder.java:42) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.startree.v2.builder.MultipleTreesBuilder.build(MultipleTreesBuilder.java:141) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.segment.index.loader.SegmentPreProcessor.processStarTrees(SegmentPreProcessor.java:260) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.segment.index.loader.SegmentPreProcessor.process(SegmentPreProcessor.java:135) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.indexsegment.immutable.ImmutableSegmentLoader.preprocessSegment(ImmutableSegmentLoader.java:267) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.indexsegment.immutable.ImmutableSegmentLoader.preprocess(ImmutableSegmentLoader.java:142) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.indexsegment.immutable.ImmutableSegmentLoader.load(ImmutableSegmentLoader.java:109) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.indexsegment.immutable.ImmutableSegmentLoader.load(ImmutableSegmentLoader.java:91) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.core.data.manager.BaseTableDataManager.reloadSegment(BaseTableDataManager.java:412) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.server.starter.helix.HelixInstanceDataManager.reloadSegmentWithMetadata(HelixInstanceDataManager.java:449) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.server.starter.helix.HelixInstanceDataManager.lambda$reloadSegmentsWithMetadata$6(HelixInstanceDataManager.java:376) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1736) [?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?] at java.lang.Thread.run(Thread.java:834) [?:?] 2023/04/26 13:55:06.886 ERROR [HelixTask] [HelixTaskExecutor-message_handle_thread_89] Exception while executing a message. java.lang.RuntimeException: Caught exception while reloading segment: in table: rta_fact_trip_with_ten_dimensions_performance_testing_OFFLINE msgId: 90e95b84-3f2c-4f36-944d-775ee6233bd6 type: USER_DEFINE_MSG java.lang.RuntimeException: Caught exception while reloading segment: in table: rta_fact_trip_with_ten_dimensions_performance_testing_OFFLINE at org.apache.pinot.server.starter.helix.SegmentMessageHandlerFactory$SegmentReloadMessageHandler.handleMessage(SegmentMessageHandlerFactory.java:155) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.helix.messaging.handling.HelixTask.call(HelixTask.java:97) [pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.helix.messaging.handling.HelixTask.call(HelixTask.java:49) [pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?] at java.lang.Thread.run(Thread.java:834) [?:?] Caused by: java.lang.RuntimeException: Failed to reload 1/1 segments: [rta_fact_trip_with_ten_dimensions_performance_testing_1682294399_1682294399_00000] in table: rta_fact_trip_with_ten_dimensions_performance_testing_OFFLINE at org.apache.pinot.server.starter.helix.HelixInstanceDataManager.reloadSegmentsWithMetadata(HelixInstanceDataManager.java:392) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.server.starter.helix.HelixInstanceDataManager.reloadAllSegments(HelixInstanceDataManager.java:326) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.server.starter.helix.SegmentMessageHandlerFactory$SegmentReloadMessageHandler.handleMessage(SegmentMessageHandlerFactory.java:148) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] ... 6 more Caused by: java.lang.IllegalArgumentException: chunk size limited to 2GB at org.apache.pinot.shaded.com.google.common.base.Preconditions.checkArgument(Preconditions.java:122) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.io.writer.impl.BaseChunkSVForwardIndexWriter.<init>(BaseChunkSVForwardIndexWriter.java:77) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.io.writer.impl.VarByteChunkSVForwardIndexWriter.<init>(VarByteChunkSVForwardIndexWriter.java:81) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.segment.creator.impl.fwd.SingleValueVarByteRawIndexCreator.<init>(SingleValueVarByteRawIndexCreator.java:81) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.segment.creator.impl.fwd.SingleValueVarByteRawIndexCreator.<init>(SingleValueVarByteRawIndexCreator.java:59) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.startree.v2.builder.BaseSingleTreeBuilder.createForwardIndexes(BaseSingleTreeBuilder.java:476) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.startree.v2.builder.BaseSingleTreeBuilder.build(BaseSingleTreeBuilder.java:320) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.startree.v2.builder.OffHeapSingleTreeBuilder.build(OffHeapSingleTreeBuilder.java:42) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.startree.v2.builder.MultipleTreesBuilder.build(MultipleTreesBuilder.java:141) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.segment.index.loader.SegmentPreProcessor.processStarTrees(SegmentPreProcessor.java:260) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.segment.index.loader.SegmentPreProcessor.process(SegmentPreProcessor.java:135) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.indexsegment.immutable.ImmutableSegmentLoader.preprocessSegment(ImmutableSegmentLoader.java:267) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.indexsegment.immutable.ImmutableSegmentLoader.preprocess(ImmutableSegmentLoader.java:142) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.indexsegment.immutable.ImmutableSegmentLoader.load(ImmutableSegmentLoader.java:109) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.segment.local.indexsegment.immutable.ImmutableSegmentLoader.load(ImmutableSegmentLoader.java:91) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.core.data.manager.BaseTableDataManager.reloadSegment(BaseTableDataManager.java:412) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.server.starter.helix.HelixInstanceDataManager.reloadSegmentWithMetadata(HelixInstanceDataManager.java:449) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at org.apache.pinot.server.starter.helix.HelixInstanceDataManager.lambda$reloadSegmentsWithMetadata$6(HelixInstanceDataManager.java:376) ~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-2bde942a4cc5a6ddc45f497a674908da88bea41a] at java.util.concurrent.CompletableFuture$AsyncRun.run(CompletableFuture.java:1736) ~[?:?] ... 3 more ``` -- 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.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