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

Antoine Pitrou commented on ARROW-6300:
---------------------------------------

Hmm, so if we call Abort() from the destructor, this will be a behaviour 
change, as we currently call Close() (flushing any pending data). Perhaps some 
code paths in third-party code rely on that.

Also, this means that on the Python side, files created using e.g. 
{{pa.output_stream()}} wouldn't flush properly when destroyed. This would break 
expectations of Python users.

So perhaps we should keep calling Close() from the destructor. What do you 
think?

> [C++] Add io::OutputStream::Abort()
> -----------------------------------
>
>                 Key: ARROW-6300
>                 URL: https://issues.apache.org/jira/browse/ARROW-6300
>             Project: Apache Arrow
>          Issue Type: Wish
>          Components: C++
>            Reporter: Antoine Pitrou
>            Priority: Major
>
> This method would abort the current output stream without trying to flush or 
> commit any pending internal data. This makes sense mostly for buffered 
> streams. For other streams it could simply synonymous to Close().



--
This message was sent by Atlassian Jira
(v8.3.2#803003)

Reply via email to