New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ARROW-18178: [Java] ArrowVectorIterator incorrectly closes Vectors #14534
ARROW-18178: [Java] ArrowVectorIterator incorrectly closes Vectors #14534
Conversation
@lidavidm If you could review that would be helpful |
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
Is there somewhere in the Javadocs or prose docs that this behavior should be described? (That is: if the VSR is reused, closing the iterator closes the root as expected; else the caller is expected to manage all roots)
Good catch. It is mentioned in the method javadoc for next(). I just pushed a commit that makes it explicit in the close() method. |
Benchmark runs are scheduled for baseline = 9f4c632 and contender = f57ad93. f57ad93 is a master commit associated with this PR. Results will be available as each benchmark for each run completes. |
['Python', 'R'] benchmarks have high level of regressions. |
Prevent vectors from being closed when ArrowVectorIterator closes in the case where the reuseVectorSchemaRoot flag is set to false.
Test in JDBCToArrowVectorIteratorTest was updated to cover this case.
Tests in UnreliableMetaDataTest were modified to manually close VectorSchemaRoots, preventing an unclosed buffer exception being thrown when the RootAllocator was closed.