Skip to content

MINOR: Preserve empty list offset buffer#30

Open
prashanthbdremio wants to merge 5 commits into
mainfrom
prashanthbdremio/dx-122953
Open

MINOR: Preserve empty list offset buffer#30
prashanthbdremio wants to merge 5 commits into
mainfrom
prashanthbdremio/dx-122953

Conversation

@prashanthbdremio

Copy link
Copy Markdown

What's Changed

Preserve the Arrow-required empty list offset buffer entry while avoiding malformed Netty buffer state. ListVector and LargeListVector now materialize a one-entry offset buffer when an empty vector still needs to expose offset[0], then set the writer index from (valueCount + 1) * OFFSET_WIDTH.

This keeps the IPC serialization behavior from apache#967 without producing an ArrowBuf with writerIndex > capacity, which caused Netty unwrap failures in Dremio sender paths.

Testing

mvn -pl vector -am -Dmaven.gitcommitid.skip=true -Dsurefire.failIfNoSpecifiedTests=false -Dtest=TestListVector,TestLargeListVector test

Result: BUILD SUCCESS. TestListVector and TestLargeListVector passed under both Netty and Unsafe allocator executions.

Closes DX-122953.

@prashanthbdremio prashanthbdremio changed the title DX-122953 Preserve empty list offset buffer MINOR: Preserve empty list offset buffer Jun 22, 2026
@github-actions

This comment has been minimized.

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

Labels

Development

Successfully merging this pull request may close these issues.

1 participant