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/11 13:05:00 UTC

[jira] [Commented] (ARROW-6527) [C++] Add OutputStream::Write() variant taking an owned buffer

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

Antoine Pitrou commented on ARROW-6527:
---------------------------------------

Concrete case which motivated this issue. With ARROW-6357, the S3 FileSystem implementation supports background writes. However, it must make sure the data remains valid until written, so has to make a copy. This is wasteful when e.g. writing a RecordBatch which is backed by owned read-only buffers.

[~emkornfield@gmail.com] [~wesmckinn]

> [C++] Add OutputStream::Write() variant taking an owned buffer
> --------------------------------------------------------------
>
>                 Key: ARROW-6527
>                 URL: https://issues.apache.org/jira/browse/ARROW-6527
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: C++
>            Reporter: Antoine Pitrou
>            Priority: Major
>
> When Write() takes an arbitrary data pointer and needs to buffer it, it is mandatory to copy the data because the pointer may go stale, or the data may be overwritten.
> Buf if the user has an immutable Buffer, then it should be enough to store the Buffer as necessary, without doing a memory copy. We could add a special Write() variant for that.



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