Larry White created ARROW-18178:
-----------------------------------
Summary: [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
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.
{{/**}}
{{ * Clean up resources.}}
{{ */}}
{{@Override}}
{{public void close() {}}
{{ if (config.isReuseVectorSchemaRoot()) {}}
{{ nextBatch.close();}}
{{ }}}
{{ compositeConsumer.close();}}
{{}}}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)