shwin opened a new issue, #11520:
URL: https://github.com/apache/pinot/issues/11520

   Full table config here: 
https://gist.github.com/shwin/7817b6d96a9facf6687f749bbe1a1507
   
   When building a segment on a minion, native indices are not built; that is, 
there are no `.nativetext.idx` present in the segments pushed to the segment 
output directory.
   
   This is unlike lucene indices, which are present:
   ```
   columns.psf                                    creation.meta                 
                 index_map                                      
toProtocolAttributes.lucene.index              
transactionToProtocolAttributes.lucene.index
   contractAddressProtocolAttributes.lucene.index 
fromProtocolAttributes.lucene.index            metadata.properties              
              transactionFromProtocolAttributes.lucene.index
   ```
   
   I suspect this is not a problem with our table config, since the servers do 
attempt to build the native text indices:
   ```
   Creating new text index for column: chain in segment: 
6ace1858-ec7e-4bc8-acea-abbeb48f16d2-test-one-segment_OFFLINE_1641487292000_1641509420000_0_a42ac055-2275-425d-b623-492f08bfa591,
 hasDictionary: true
   83
   Created text index for column: chain in segment: 
6ace1858-ec7e-4bc8-acea-abbeb48f16d2-test-one-segment_OFFLINE_1641487292000_1641509420000_0_a42ac055-2275-425d-b623-492f08bfa591
   79
   ```
   
   This is bad, since they eventually fail with stack traces like the following:
   ```
   Exception while executing a state transition task 
6ace1858-ec7e-4bc8-acea-abbeb48f16d2_OFFLINE_1641487292000_1641509420000_1481_15c79469-d635-45c1-a0e1-805701aab041
   java.lang.reflect.InvocationTargetException: null
        at jdk.internal.reflect.GeneratedMethodAccessor73.invoke(Unknown 
Source) ~[?:?]
        at 
jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 ~[?:?]
        at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?]
        at 
org.apache.helix.messaging.handling.HelixStateTransitionHandler.invoke(HelixStateTransitionHandler.java:350)
 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        at 
org.apache.helix.messaging.handling.HelixStateTransitionHandler.handleMessage(HelixStateTransitionHandler.java:278)
 
[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        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-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        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-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        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:829) [?:?]
   Caused by: java.lang.OutOfMemoryError: Direct buffer memory
        at java.nio.Bits.reserveMemory(Bits.java:175) ~[?:?]
        at java.nio.DirectByteBuffer.<init>(DirectByteBuffer.java:118) ~[?:?]
        at java.nio.ByteBuffer.allocateDirect(ByteBuffer.java:317) ~[?:?]
        at 
org.apache.pinot.segment.spi.memory.PinotByteBuffer.allocateDirect(PinotByteBuffer.java:38)
 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        at 
org.apache.pinot.segment.spi.memory.ByteBufferPinotBufferFactory.allocateDirect(ByteBufferPinotBufferFactory.java:32)
 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        at 
org.apache.pinot.segment.spi.memory.SmallWithFallbackPinotBufferFactory.allocateDirect(SmallWithFallbackPinotBufferFactory.java:47)
 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        at 
org.apache.pinot.segment.spi.memory.PinotDataBuffer.allocateDirect(PinotDataBuffer.java:216)
 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        at 
org.apache.pinot.segment.local.io.writer.impl.DirectMemoryManager.allocateInternal(DirectMemoryManager.java:53)
 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        at 
org.apache.pinot.segment.local.io.readerwriter.RealtimeIndexOffHeapMemoryManager.allocate(RealtimeIndexOffHeapMemoryManager.java:85)
 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        at 
org.apache.pinot.segment.local.realtime.impl.dictionary.OffHeapMutableBytesStore.add(OffHeapMutableBytesStore.java:119)
 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        at 
org.apache.pinot.segment.local.utils.nativefst.ImmutableFST.readRemaining(ImmutableFST.java:207)
 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        at 
org.apache.pinot.segment.local.utils.nativefst.ImmutableFST.<init>(ImmutableFST.java:200)
 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        at org.apache.pinot.segment.local.utils.nativefst.FST.read(FST.java:91) 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        at 
org.apache.pinot.segment.local.utils.nativefst.FST.read(FST.java:114) 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        at 
org.apache.pinot.segment.local.segment.index.readers.text.NativeTextIndexReader.populateIndexes(NativeTextIndexReader.java:92)
 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        at 
org.apache.pinot.segment.local.segment.index.readers.text.NativeTextIndexReader.<init>(NativeTextIndexReader.java:60)
 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        at 
org.apache.pinot.segment.local.segment.index.text.TextIndexType$ReaderFactory.createIndexReader(TextIndexType.java:173)
 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        at 
org.apache.pinot.segment.local.segment.index.text.TextIndexType$ReaderFactory.createIndexReader(TextIndexType.java:153)
 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        at 
org.apache.pinot.segment.local.segment.index.column.PhysicalColumnIndexContainer.<init>(PhysicalColumnIndexContainer.java:59)
 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        at 
org.apache.pinot.segment.local.indexsegment.immutable.ImmutableSegmentLoader.load(ImmutableSegmentLoader.java:184)
 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        at 
org.apache.pinot.core.data.manager.BaseTableDataManager.tryLoadExistingSegment(BaseTableDataManager.java:815)
 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        at 
org.apache.pinot.core.data.manager.BaseTableDataManager.addOrReplaceSegment(BaseTableDataManager.java:463)
 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        at 
org.apache.pinot.server.starter.helix.HelixInstanceDataManager.addOrReplaceSegment(HelixInstanceDataManager.java:504)
 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        at 
org.apache.pinot.server.starter.helix.SegmentOnlineOfflineStateModelFactory$SegmentOnlineOfflineStateModel.onBecomeOnlineFromOffline(SegmentOnlineOfflineStateModelFactory.java:166)
 
~[pinot-all-0.13.0-SNAPSHOT-jar-with-dependencies.jar:0.13.0-SNAPSHOT-c68b3be360fafac1c38f3322ed5fa64201d08daf]
        ... 11 more
   Default rollback method invoked on error. Error Code: ERROR
   ```
   
   If this happened on minions, that would be one thing; this happening on our 
servers is a lot more impactful.
   
   See https://apache-pinot.slack.com/archives/C011C9JHN7R/p1693783364237779 
for more discussion, but I think this is a decent summary. 


-- 
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

Reply via email to