You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Antoine Pitrou (Jira)" <ji...@apache.org> on 2019/09/04 13:08:00 UTC

[jira] [Commented] (ARROW-6300) [C++] Add io::OutputStream::Abort()

    [ 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)