You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ComplexCopier missing support for FixedSizeBinary columns #559
Complex copier does not support fixed size binary.
java.lang.UnsupportedOperationException: FIXEDSIZEBINARY
at org.apache.arrow.vector.complex.impl.ComplexCopier.getListWriterForReader(ComplexCopier.java:824)
at org.apache.arrow.vector.complex.impl.ComplexCopier.writeValue(ComplexCopier.java:93)
at org.apache.arrow.vector.complex.impl.ComplexCopier.copy(ComplexCopier.java:76)
at org.apache.arrow.vector.complex.ListVector.copyFrom(ListVector.java:409)
Hi @lidavidm@nbauernfeind@axreldable! I'd like to work on this issue. I'm a CS graduate with hands-on Java experience and I've recently contributed to Apache phpMyAdmin through CodePath's AI301 course, so I'm familiar with the Apache contribution process.
From reading the stack trace, it looks like getListWriterForReader in ComplexCopier.java is missing a case for FIXEDSIZEBINARY — the fix would involve adding that case similar to how other types like VARBINARY are already handled. Could you confirm this approach is on the right track, and point me to any existing tests for ComplexCopier I should model new tests after?
Thanks!
I see your commits from Nov 2025 and Mar 2026 in issue history, are you planning to open a PR? Happy to help review or help @Maria-Berta to resolve this if you've moved on.
And @Maria-Berta: yes, your analysis is on the right track!
If you happen to continue on this, one small correction: the missing case isn't only in getListWriterForReader. Check getStructWriterForReader, getMapWriterForReader, and the copy() switch. Also, take inspiration from the FIXED_SIZE_LIST case rather than VARBINARY as both FixedSizeBinary and FixedSizeList are parameterized types (they carry a width/size), so the pattern should be the same.
For tests, TestComplexCopier.java should be a good anchor point.
Hi @sandeshkr419, thanks for the guidance — just opened #1253 with the fix across all 4 switches (getListWriterForReader, getStructWriterForReader, getMapWriterForReader, and copy()), plus test coverage for List and Struct. Flagged a pre-existing limitation I found with Map values in the PR description — happy to discuss there.
@axreldable — didn't want to duplicate effort, so flagging in case you were still planning to pick this up! Happy to close my PR if you'd prefer to continue with yours.
Activity
apacheGH-559: Fix FixedSizeBinary in ComplexCopier
apacheGH-559: [Vector] Add unit tests for ComplexCopier
Maria-Berta commentedon Jul 5, 2026
Hi @lidavidm @nbauernfeind @axreldable! I'd like to work on this issue. I'm a CS graduate with hands-on Java experience and I've recently contributed to Apache phpMyAdmin through CodePath's AI301 course, so I'm familiar with the Apache contribution process.
From reading the stack trace, it looks like getListWriterForReader in ComplexCopier.java is missing a case for FIXEDSIZEBINARY — the fix would involve adding that case similar to how other types like VARBINARY are already handled. Could you confirm this approach is on the right track, and point me to any existing tests for ComplexCopier I should model new tests after?
Thanks!
sandeshkr419 commentedon Jul 22, 2026
Hi @axreldable!
I see your commits from Nov 2025 and Mar 2026 in issue history, are you planning to open a PR? Happy to help review or help @Maria-Berta to resolve this if you've moved on.
And @Maria-Berta: yes, your analysis is on the right track!
If you happen to continue on this, one small correction: the missing case isn't only in
getListWriterForReader. CheckgetStructWriterForReader,getMapWriterForReader, and thecopy()switch. Also, take inspiration from the FIXED_SIZE_LIST case rather than VARBINARY as both FixedSizeBinary and FixedSizeList are parameterized types (they carry a width/size), so the pattern should be the same.For tests, TestComplexCopier.java should be a good anchor point.
Maria-Berta commentedon Jul 23, 2026
Okay thank you for the pointers! I will keep on working on this hopefully send a PR soon!
apacheGH-559: Add reproduction test for FixedSizeBinary ComplexCopier…
apacheGH-559: [Java] Add FixedSizeBinary support to ComplexCopier
apacheGH-559: [Java] Add test coverage for FixedSizeBinary in Struct
Maria-Berta commentedon Aug 3, 2026
Hi @sandeshkr419, thanks for the guidance — just opened #1253 with the fix across all 4 switches (getListWriterForReader, getStructWriterForReader, getMapWriterForReader, and copy()), plus test coverage for List and Struct. Flagged a pre-existing limitation I found with Map values in the PR description — happy to discuss there.
@axreldable — didn't want to duplicate effort, so flagging in case you were still planning to pick this up! Happy to close my PR if you'd prefer to continue with yours.