Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Buffers allocated by ParquetFileReader.readVectored() are not being released

Ouverte
#3,237 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
java

Piste de recherche

Commencez par TestParquetReader.java autour de closeAllocator et de la trace de la pile de readVectored, puis examinez le chemin de ParquetFileReader.readVectored() et l’utilisation de TrackingByteBufferAllocator. Reproduisez le problème avec mvn -Dtest=TestParquetReader -Dhadoop.version=3.4.1 ; c’est terminé lorsque le test réussit sans buffers qui fuient avec Hadoop 3.4.0 ou une version ultérieure.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Type: bug
Describe the bug, including details regarding any error messages, version, and platform.

this surfaces when running TestParquetReader with hadoop >= 3.4.0

mvn -Dtest=TestParquetReader -Dhadoop.version=3.4.1

This is disappointing as it means

  1. the hadoop release process hasn't been doing the parquet build and test (it's an optional action)
  2. this got through our own large scale QE testing.

The good news: this hasn't surfaced in production, presumably because nothing is trying to read into direct buffers -something parquet blocks automatically.


[ERROR] org.apache.parquet.hadoop.TestParquetReader.testCurrentRowIndex[2] -- Time elapsed: 0.013 s <<< ERROR!
org.apache.parquet.bytes.TrackingByteBufferAllocator$LeakedByteBufferException: 2 ByteBuffer object(s) is/are remained unreleased after closing this allocator.
        at org.apache.parquet.bytes.TrackingByteBufferAllocator.close(TrackingByteBufferAllocator.java:171)
        at org.apache.parquet.hadoop.TestParquetReader.closeAllocator(TestParquetReader.java:175)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
Caused by: org.apache.parquet.bytes.TrackingByteBufferAllocator$ByteBufferAllocationStacktraceException: Allocation stacktrace of the first ByteBuffer:
        at org.apache.parquet.bytes.TrackingByteBufferAllocator$ByteBufferAllocationStacktraceException.create(TrackingByteBufferAllocator.java:100)
        at org.apache.parquet.bytes.TrackingByteBufferAllocator$ByteBufferAllocationStacktraceException.access$300(TrackingByteBufferAllocator.java:94)
        at org.apache.parquet.bytes.TrackingByteBufferAllocator.allocate(TrackingByteBufferAllocator.java:140)
        at org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileInputStream.readVectored(RawLocalFileSystem.java:336)
        at org.apache.hadoop.fs.BufferedFSInputStream.readVectored(BufferedFSInputStream.java:182)
        at org.apache.hadoop.fs.FSDataInputStream.readVectored(FSDataInputStream.java:307)
        at org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSInputChecker.readVectored(ChecksumFileSystem.java:444)
        at org.apache.hadoop.fs.FSDataInputStream.readVectored(FSDataInputStream.java:307)
Component(s)

Core

Langage dominant
Java
Étoiles
3.1k
Forks
1.6k
Merge moyen
6 j 44 min
PR mergées (30 j)
35

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de apache/parquet-java

Toutes les issues de apache/parquet-java

Issues similaires

Plus d'issues Java

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.