Skip to content

[Bug] ARRAY<VECTOR> row types fail binary serialization with "type VECTOR not support" #9772

Description

@LuciferYang

Bug description

ARRAY<VECTOR(n)> is accepted by schema validation and readable via ColumnarArray.getVector, but the binary data path rejects it:

  • InternalArray.createElementGetter has no VECTOR case, and InternalArraySerializer builds its element getter eagerly in the constructor, so building a serializer over such a row type throws IllegalArgumentException("type VECTOR not support in ...").
  • BinaryArray.calculateFixLengthPartSize and BinaryRow-style getDataClass (InternalRow.getDataClass) also lack VECTOR, so even past construction, serializing/copying such an array throws Unsupported type: VECTOR<...>.
  • BinaryArray.getVector is an unconditional throw.

Concrete failing flow: a primary-key table with an ARRAY<VECTOR(3)> column — the local merge (SortBufferLocalMergerInternalRowSerializer.toBinaryRow) serializes the row and crashes.

Expected behavior

Nested VECTOR should flow through the same binary accessors as ARRAY/MAP/ROW (the row-level getVector and BinaryWriter.writeVector/InternalVectorSerializer already support it).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions