[
https://issues.apache.org/jira/browse/ARROW-18178?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
ASF GitHub Bot updated ARROW-18178:
-----------------------------------
Labels: pull-request-available (was: )
> [Java] ArrowVectorIterator incorrectly closes Vectors
> ------------------------------------------------------
>
> Key: ARROW-18178
> URL: https://issues.apache.org/jira/browse/ARROW-18178
> Project: Apache Arrow
> Issue Type: Improvement
> Components: Java
> Affects Versions: 10.0.0
> Reporter: Larry White
> Assignee: Larry White
> Priority: Major
> Labels: pull-request-available
> Time Spent: 10m
> Remaining Estimate: 0h
>
> If you’re using the iterator with reuseVectorSchemaRoot set to false, the
> first n-1 VSRs returned by a call to next() have their resources managed by
> the client code, but the last one gets closed when the iterator is closed.
> This is inconsistent and contradicts the javadoc for next:
> * If \{@link JdbcToArrowConfig#isReuseVectorSchemaRoot()} is false,
> * the client is responsible for freeing its resources.
> The iterator calls close on its CompositeJDBCConsumer instance, which in turn
> closes the vectors held by each consumer.
>
> {{@Override}}
> {{public void close() {}}
> {{ if (config.isReuseVectorSchemaRoot()) {}}
> {{ nextBatch.close();}}
> }
> {{ compositeConsumer.close();}}
> {{}}}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)