[ 
https://issues.apache.org/jira/browse/ARROW-1613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16183057#comment-16183057
 ] 

ASF GitHub Bot commented on ARROW-1613:
---------------------------------------

Github user BryanCutler commented on the issue:

    https://github.com/apache/arrow/pull/1138
  
    The scenario is in Spark a socket is opened between the JVM and a Python 
worker process.  Then Arrow data is sent over the socket and when done, if the 
socket is left open, the Python worker can be reused which saves startup time. 
So I just need a convenient way to close resources without closing the stream.
    
    On one I think that Arrow doesn't own the stream, so should never close it. 
 On the other hand, for a `close()` method the user might expect the stream to 
be closed also.  Maybe someone else has some prior experience can confirm what 
the usual behavior is?


> [Java] ArrowReader should not close the input ReadChannel
> ---------------------------------------------------------
>
>                 Key: ARROW-1613
>                 URL: https://issues.apache.org/jira/browse/ARROW-1613
>             Project: Apache Arrow
>          Issue Type: Bug
>          Components: Java - Vectors
>            Reporter: Bryan Cutler
>            Assignee: Bryan Cutler
>              Labels: pull-request-available
>
> Currently, {{ArrowReader.close()}} will close resources (VectorSchemaRoot and 
> Dictionary Vectors) and also close the input ReadChannel, or InputStream for 
> ArrowStreamReader.  Closing of the ReadChannel should be done by what ever 
> created it because it might need to be reused.
> If this not possible, an alternative could be to add a method 
> {{ArrowReader.end()}} that will close resources but not the ReadChannel.  
> Then {{end()}} could be called instead of {{close()}}.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to