Skip to content

GH-1194: Preserve empty list offset buffers#1229

Open
prashanthbdremio wants to merge 1 commit into
apache:mainfrom
prashanthbdremio:apache-empty-list-offset
Open

GH-1194: Preserve empty list offset buffers#1229
prashanthbdremio wants to merge 1 commit into
apache:mainfrom
prashanthbdremio:apache-empty-list-offset

Conversation

@prashanthbdremio

Copy link
Copy Markdown

What's Changed

Preserve the required one-entry offset buffer for empty ListVector and LargeListVector instances when setting value count and when splitting/transferring zero values. This keeps empty list vectors aligned with the Arrow offset-buffer invariant and avoids exposing buffers whose writer index exceeds capacity.

Adds regression coverage for allocated, unallocated, split-and-transfer, and nested empty list vectors.

Closes #1194.

Tests:

  • mvn -pl vector -am -P=-error-prone -Dmaven.gitcommitid.skip=true -Dsurefire.failIfNoSpecifiedTests=false -Dtest=TestSplitAndTransfer,TestListVector,TestLargeListVector test
  • mvn -P=-error-prone -Dmaven.gitcommitid.skip=true test

@github-actions

Copy link
Copy Markdown

Thank you for opening a pull request!

Please label the PR with one or more of:

  • bug-fix
  • chore
  • dependencies
  • documentation
  • enhancement

Also, add the 'breaking-change' label if appropriate.

See CONTRIBUTING.md for details.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Empty ListVector and LargeListVector can expose offset buffers with writerIndex greater than capacity

1 participant