Root cause
ScanIterator.sliceArray (line ~776) has no case for NullArray, so it throws:
VortexException: scan: cannot slice shared array of type NullArray
This happens when a column has dtype DType.Null (all-null, no values, no validity bitmap). Such columns are decoded as NullArray by NullEncodingDecoder. When the scan iterator needs to slice the decoded chunk to a row window, it falls through to the default error arm.
Affected slug
nyc-property-sales — column easement has dtype null, written by vortex-data 0.69.0 as a vortex.null encoding, decoded as NullArray. Export crashes immediately on the first chunk.
Fix
Add a NullArray case to ScanIterator.sliceArray that returns a new NullArray of the requested row count. A NullArray carries no data, so slicing is just a row-count rebind.
case NullArray ignored -> new NullArray(rows);
Root cause
ScanIterator.sliceArray(line ~776) has no case forNullArray, so it throws:This happens when a column has dtype
DType.Null(all-null, no values, no validity bitmap). Such columns are decoded asNullArraybyNullEncodingDecoder. When the scan iterator needs to slice the decoded chunk to a row window, it falls through to the default error arm.Affected slug
nyc-property-sales— columneasementhas dtypenull, written by vortex-data 0.69.0 as avortex.nullencoding, decoded asNullArray. Export crashes immediately on the first chunk.Fix
Add a
NullArraycase toScanIterator.sliceArraythat returns a newNullArrayof the requested row count. ANullArraycarries no data, so slicing is just a row-count rebind.