Dan Hill
06/07/2020, 9:52 PMsudo docker run --rm -ti -v /home/ec2-user/metrics:/home/ec2-user/metrics -v /home/ec2-user/events:/home/ec2-user/events --name pinot-data-ingestion-job apachepinot/pinot:latest LaunchDataIngestionJob -jobSpecFile ~/metrics/pinot/loadtest/kubernetes/aws-dev-batch-job-spec.yaml
Generated 1000000 star-tree records from 1000000 segment records
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:3181)
at java.util.ArrayList.grow(ArrayList.java:265)
at java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:239)
at java.util.ArrayList.ensureCapacityInternal(ArrayList.java:231)
at java.util.ArrayList.add(ArrayList.java:462)
at org.apache.pinot.core.startree.v2.builder.OffHeapSingleTreeBuilder.appendRecord(OffHeapSingleTreeBuilder.java:162)
at org.apache.pinot.core.startree.v2.builder.BaseSingleTreeBuilder.appendToStarTree(BaseSingleTreeBuilder.java:336)
at org.apache.pinot.core.startree.v2.builder.BaseSingleTreeBuilder.constructStarNode(BaseSingleTreeBuilder.java:406)
at org.apache.pinot.core.startree.v2.builder.BaseSingleTreeBuilder.constructStarTree(BaseSingleTreeBuilder.java:359)
at org.apache.pinot.core.startree.v2.builder.BaseSingleTreeBuilder.constructStarTree(BaseSingleTreeBuilder.java:365)
at org.apache.pinot.core.startree.v2.builder.BaseSingleTreeBuilder.constructStarTree(BaseSingleTreeBuilder.java:365)
at org.apache.pinot.core.startree.v2.builder.BaseSingleTreeBuilder.constructStarTree(BaseSingleTreeBuilder.java:365)
at org.apache.pinot.core.startree.v2.builder.BaseSingleTreeBuilder.constructStarTree(BaseSingleTreeBuilder.java:365)
at org.apache.pinot.core.startree.v2.builder.BaseSingleTreeBuilder.constructStarTree(BaseSingleTreeBuilder.java:365)
at org.apache.pinot.core.startree.v2.builder.BaseSingleTreeBuilder.constructStarTree(BaseSingleTreeBuilder.java:365)
at org.apache.pinot.core.startree.v2.builder.BaseSingleTreeBuilder.constructStarTree(BaseSingleTreeBuilder.java:365)
at org.apache.pinot.core.startree.v2.builder.BaseSingleTreeBuilder.constructStarTree(BaseSingleTreeBuilder.java:365)
at org.apache.pinot.core.startree.v2.builder.BaseSingleTreeBuilder.constructStarTree(BaseSingleTreeBuilder.java:365)
at org.apache.pinot.core.startree.v2.builder.BaseSingleTreeBuilder.constructStarTree(BaseSingleTreeBuilder.java:365)
at org.apache.pinot.core.startree.v2.builder.BaseSingleTreeBuilder.constructStarTree(BaseSingleTreeBuilder.java:365)
at org.apache.pinot.core.startree.v2.builder.BaseSingleTreeBuilder.constructStarTree(BaseSingleTreeBuilder.java:365)
at org.apache.pinot.core.startree.v2.builder.BaseSingleTreeBuilder.constructStarTree(BaseSingleTreeBuilder.java:365)
at org.apache.pinot.core.startree.v2.builder.BaseSingleTreeBuilder.constructStarTree(BaseSingleTreeBuilder.java:365)
at org.apache.pinot.core.startree.v2.builder.BaseSingleTreeBuilder.constructStarTree(BaseSingleTreeBuilder.java:365)
at org.apache.pinot.core.startree.v2.builder.BaseSingleTreeBuilder.constructStarTree(BaseSingleTreeBuilder.java:365)
at org.apache.pinot.core.startree.v2.builder.BaseSingleTreeBuilder.build(BaseSingleTreeBuilder.java:317)
at org.apache.pinot.core.startree.v2.builder.OffHeapSingleTreeBuilder.build(OffHeapSingleTreeBuilder.java:43)
at org.apache.pinot.core.startree.v2.builder.MultipleTreesBuilder.build(MultipleTreesBuilder.java:120)
Kishore G
Xiang Fu
Elon
06/08/2020, 7:50 PMXiang Fu
Xiang Fu
Xiang Fu
autopurge.snapRetainCount=3
autopurge.purgeInterval=12
Xiang Fu
Elon
06/08/2020, 8:07 PMElon
06/08/2020, 10:56 PMElon
06/08/2020, 10:56 PMXiang Fu
Xiang Fu
Xiang Fu
Elon
06/09/2020, 12:36 AMElon
06/09/2020, 12:44 AMsrisudha
06/09/2020, 11:24 AMMayank
1. 26 GB ram, 4 gb heap and 10 Gb direct memory
2. Each VM is consuming 3 partitions, and each consuming segment ends up being 100MB segment.
3. LoadMode in tableConfig is MMAP.
Mayank
java.lang.Thread.run(Thread.java:748) [?:1.8.0_252] Caused by: java.lang.OutOfMemoryError: Direct buffer memory at java.nio.Bits.reserveMemory(Bits.java:694) ~[?:1.8.0_252] at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:123) ~[?:1.8.0_252] at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:311) ~[?:1.8.0_252] at org.apache.pinot.core.segment.memory.PinotByteBuffer.allocateDirect(PinotByteBuffer.java:41) ~[pinot-all-0.4.0-SNAPSHOT-jar-with-dependencies.jar:0.4.0-SNAPSHOT-ec03154343df4831e33092a247505ef0af3d9daf] at org.apache.pinot.core.segment.memory.PinotDataBuffer.allocateDirect(PinotDataBuffer.java:116) ~[pinot-all-0.4.0-SNAPSHOT-jar-with-dependencies.jar:0.4.0-SNAPSHOT-ec03154343df4831e33092a247505ef0af3d9daf] at org.apache.pinot.core.io.writer.impl.DirectMemoryManager.allocateInternal(DirectMemoryManager.java:53) ~[pinot-all-0.4.0-SNAPSHOT-jar-with-dependencies.jar:0.4.0-SNAPSHOT-ec03154343df4831e33092a247505ef0af3d9daf] at org.apache.pinot.core.io.readerwriter.RealtimeIndexOffHeapMemoryManager.allocate(RealtimeIndexOffHeapMemoryManager.java:79) ~[pinot-all-0.4.0-SNAPSHOT-jar-with-dependencies.jar:0.4.0-SNAPSHOT-ec03154343df4831e33092a247505ef0af3d9daf] at org.apache.pinot.core.io.readerwriter.impl.FixedByteSingleColumnSingleValueReaderWriter.addBuffer(FixedByteSingleColumnSingleValueReaderWriter.java:179) ~[pinot-all-0.4.0-SNAPSHOT-jar-with-dependencies.jar:0.4.0-SNAPSHOT-ec03154343df4831e33092a247505ef0af3d9daf] at org.apache.pinot.core.io.readerwriter.impl.FixedByteSingleColumnSingleValueReaderWriter.<init>(FixedByteSingleColumnSingleValueReaderWriter.java:71) ~[pinot-all-0.4.0-SNAPSHOT-jar-with-dependencies.jar:0.4.0-SNAPSHOT-ec03154343df4831e33092a247505ef0af3d9daf] at org.apache.pinot.core.indexsegment.mutable.MutableSegmentImpl.<init>(MutableSegmentImpl.java:273) ~[pinot-all-0.4.0-SNAPSHOT-jar-with-dependencies.jar:0.4.0-SNAPSHOT-ec03154343df4831e33092a247505ef0af3d9daf] at org.apache.pinot.core.data.manager.realtime.LLRealtimeSegmentDataManager.<init>(LLRealtimeSegmentDataManager.java:1206) ~[pinot-all-0.4.0-SNAPSHOT-jar-with-dependencies.jar:0.4.0-SNAPSHOT-ec03154343df4831e33092a247505ef0af3d9daf] at
Mayank
Mayank
_memoryManager = getMemoryManager(realtimeTableDataManager.getConsumerDir(), _segmentNameStr,
indexLoadingConfig.isRealtimeOffheapAllocation(), indexLoadingConfig.isDirectRealtimeOffheapAllocation(),
serverMetrics);
srisudha
06/11/2020, 5:37 AMsrisudha
06/11/2020, 5:37 AMsrisudha
06/11/2020, 5:49 AMsrisudha
06/11/2020, 5:50 AMsrisudha
06/11/2020, 5:50 AMsrisudha
06/11/2020, 5:51 AMSubbu Subramaniam
06/11/2020, 3:25 PMRealtimeProvisioningHelper
tool as mentioned in https://engineering.linkedin.com/blog/2019/auto-tuning-pinot? It will help you decide the right segment size for your use case instead of guessting the sizeMayank
Mayank