apache / apache/parquet-java

Variant getFieldByKey() on large objects silently fails if variant metadata is unsorted

Aperta
#3,529 4 commenti 0 reazioni 1 assegnatario Rivendicata da @nssalian Vedi su GitHub
Type: bug
Lingua principale
Java
Stelle
3.1k
Fork
1.6k
Merge medio
3g 12h
PR unite (30g)
33

Descrizione

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

Variant method getFieldByKey(String key) looks up a key by simple walk if key count < 32, binary search if above that. But the binary search assumes the metadata is sorted. This is optional according to the format spec; there's a bit in the variant to indicate whether or not a variant's metadata is unsorted

the test `testUnsortedMetadataObject()` does test unsorted support -but it only checks on a small enough object that binary search isn't involved

### Component(s)

Core

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.