Arrow write: one bad value inside a ColumnGroup aborts the whole export, even in Mode.LOYAL
I maintainer di solito rispondono entro 1 giorno
@zaleslaw ci sta già lavorando.
Dal 11/9/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
One value that cannot be converted to the target Arrow type fails the entire write — no file is produced —
when it sits in a column inside a ColumnGroup. Mode.LOYAL is supposed to degrade such a value and report
it to mismatchSubscriber instead of aborting, and it does exactly that for a top-level column.
The reason is where the conversion happens: a ColumnGroup written into an ArrowType.Struct field has its
columns converted inside ArrowWriterImpl.infillVector, outside the try/catch in allocateVectorAndInfill
that applies ArrowWriter.Mode to a failed conversion. So the exception goes straight out of the writer and
the subscriber is never called.
val df = dataFrameOf(DataColumn.createColumnGroup("g", dataFrameOf("x")("abc", "def")))
val schema = Schema(listOf(Field("g", FieldType.nullable(ArrowType.Struct()),
listOf(Field("x", FieldType.nullable(ArrowType.Int(32, true)), null)))))
df.arrowWriter(schema, ArrowWriter.Mode.LOYAL) { println(it) }
.use { it.saveArrowFeatherToByteArray() }
// CellConversionException: Failed to convert 'abc' from kotlin.String to kotlin.Int in column 'x', row 0
// mismatchSubscriber: never called
Pre-existing and not specific to a vector type — the same happens for any child vector, e.g.
is IntVector -> column.convertToInt(). Noticed in #2063
(https://github.com/Kotlin/dataframe/pull/2063#discussion_r3981437295).
- Lingua principale
- Kotlin
- Stelle
- 1.1k
- Fork
- 87
- Merge medio
- 2g 21h
- PR unite (30g)
- 40
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Kotlin/dataframe
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Add `columnOf(vararg DataFrame<T: DataRowSchema>): FrameColumn<T>` overload for compatibilityApertaAPI
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
Kotlin/dataframe#2202 · 3 commenti · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Kotlin/dataframe#2195 · 2 commenti · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
AX
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno
-
Add minimal KDocs for `print` APIsForse già presa @zaleslaw l’ha presa 3 giorni fa. ApertaKDocs
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Kotlin/dataframe
Issue simili
-
feat: 插入提示词时默认追加到输入框,长按才替换Apertaenhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
liberation-data/drivine-cypher-spec#67 ·
I maintainer di solito rispondono entro 1 giorno
-
feature
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
-
documentation good first issue help wanted P2 roadmap-v4
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
maziyarpanahi/openmed#5425 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
OneBusAway/vehicle-positions#250 ·
I maintainer di solito rispondono entro 1 giorno