[Bug] 0.9.0 When querying the paimon table in Parquet format through starrocks, the following error appears. I tried to adjust the heap memory size, but it still works like this
- Dominant language
- Java
- Stars
- 3.4k
- Forks
- 1.4k
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 396
Description
### Search before asking
- [x] I searched in the [issues](https://github.com/apache/paimon/issues) and found nothing similar.
### Paimon version
0.9.0 client
### Compute Engine
starrocks
### Minimal reproduce step
may https://github.com/StarRocks/starrocks/issues/54070
### What doesn't meet your expectations?
[26.794s][warning][gc,alloc] Thread-5: Retried waiting for GCLocker too often allocating 1048578 words
Exception in thread "Thread-5" java.lang.OutOfMemoryError: Java heap space
at java.base/java.nio.HeapByteBuffer.(HeapByteBuffer.java:64)
at java.base/java.nio.ByteBuffer.allocate(ByteBuffer.java:363)
at org.apache.paimon.shade.org.apache.parquet.bytes.HeapByteBufferAllocator.allocate(HeapByteBufferAllocator.java:32)
at org.apache.paimon.shade.org.apache.parquet.hadoop.ParquetFileReader$ConsecutivePartList.readAll(ParquetFileReader.java:1502)
at org.apache.paimon.shade.org.apache.parquet.hadoop.ParquetFileReader.readAllPartsVectoredOrNormal(ParquetFileReader.java:553)
at org.apache.paimon.shade.org.apache.parquet.hadoop.ParquetFileReader.internalReadRowGroup(ParquetFileReader.java:447)
at org.apache.paimon.shade.org.apache.parquet.hadoop.ParquetFileReader.readNextRowGroup(ParquetFileReader.java:396)
at org.apache.paimon.format.parquet.ParquetReaderFactory$ParquetReader.readNextRowGroup(ParquetReaderFactory.java:348)
at org.apache.paimon.format.parquet.ParquetReaderFactory$ParquetReader.nextBatch(ParquetReaderFactory.java:327)
at org.apache.paimon.format.parquet.ParquetReaderFactory$ParquetReader.readBatch(ParquetReaderFactory.java:309)
at org.apache.paimon.io.FileRecordReader.readBatch(FileRecordReader.java:47)
at org.apache.paimon.io.KeyValueDataFileRecordReader.readBatch(KeyValueDataFileRecordReader.java:48)
at org.apache.paimon.mergetree.compact.ConcatRecordReader.readBatch(ConcatRecordReader.java:66)
at org.apache.paimon.mergetree.compact.LoserTree$LeafIterator.advanceIfAvailable(LoserTree.java:315)
at org.apache.paimon.mergetree.compact.LoserTree.initializeIfNeeded(LoserTree.java:87)
at org.apache.paimon.mergetree.compact.SortMergeReaderWithLoserTree.readBatch(SortMergeReaderWithLoserTree.java:71)
at org.apache.paimon.mergetree.DropDeleteReader.readBatch(DropDeleteReader.java:44)
at org.apache.paimon.reader.RecordReader$1.readBatch(RecordReader.java:173)
at org.apache.paimon.table.source.KeyValueTableRead$1.readBatch(KeyValueTableRead.java:131)
at org.apache.paimon.reader.RecordReader$2.readBatch(RecordReader.java:194)
at org.apache.paimon.reader.RecordReaderIterator.(RecordReaderIterator.java:37)
at com.starrocks.paimon.reader.PaimonSplitScanner.initReader(PaimonSplitScanner.java:106)
at com.starrocks.paimon.reader.PaimonSplitScanner.open(PaimonSplitScanner.java:115)
### Anything else?
_No response_
### Are you willing to submit a PR?
- [ ] I'm willing to submit a PR!
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the linked StarRocks issue and the stack-trace entry points in org.apache.paimon.format.parquet.ParquetReaderFactory and com.starrocks.paimon.reader.PaimonSplitScanner. Reproduce the Parquet query with Paimon 0.9.0 through StarRocks, then determine and verify a resolution for the Java heap exhaustion during row-group reading.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- data-engineering, databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100