Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Shredded variant readers throw InvalidCastException for large_binary and binary_view storage

Chiusa
#448 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
65/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
csharp
Ambito
data

Direzione di ricerca

Start in Apache.Arrow.Operations.Shredding, focusing on ShreddedVariant, ShreddedObject, ShreddedArray, and TryGetResidualReader. Trace the binary and string columns accepted by VariantArray and ShredSchema, then check the affected logical, typed, and residual read paths. Done means large_binary, binary_view, and large_utf8 representations are accepted without InvalidCastException in the listed scenarios.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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

VariantArray accepts binary, large_binary or binary_view for its metadata and value fields, at the top level and inside shredded element groups (VariantExtensionDefinition.FindBinaryFieldIndex, ShredSchema.IsElementGroupStruct). ShredSchema.FromArrowType also maps large_utf8 and large_binary typed_value columns.

The shredding-aware readers in Apache.Arrow.Operations.Shredding (ShreddedVariant, ShreddedObject, ShreddedArray) cast those columns to BinaryArray / StringArray, so any other representation throws InvalidCastException. This affects:

  • GetLogicalVariantValue on any such column, shredded or not. For an unshredded large_binary column the core VariantArray.GetVariantValue works, but GetLogicalVariantValue throws.
  • ShreddedVariant.GetString() / GetBinaryBytes() on large_utf8 / large_binary typed columns.
  • Residual reads in ShreddedObject / ShreddedArray, TryGetResidualReader, etc.

Expected: the readers accept every storage type that VariantArray and ShredSchema accept.

Found while reviewing #447, whose new array-level entry points go through these readers.

Component(s)

C#

Lingua principale
C#
Stelle
40
Fork
30
Merge medio
1g 3h
PR unite (30g)
15

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di apache/arrow-dotnet

Tutte le issue di apache/arrow-dotnet

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.