You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Philipp Moritz (JIRA)" <ji...@apache.org> on 2018/04/03 20:11:00 UTC

[jira] [Commented] (ARROW-2363) [Plasma] Have an automatic object-releasing Create() variant

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

Philipp Moritz commented on ARROW-2363:
---------------------------------------

We can also get rid of Abort at the same time, this would be the design:

Have a MutablePlasmaBuffer class, which is returned by Create
{code:java}
Status Create(int64_t data_size, int64_t metadata_size, std::shared_ptr<MutablePlasmaBuffer>* buffer)
{code}
This allocates the data in shared memory, but does not associate it with the object id yet. This way we get get rid of the Abort() call.

Move the Seal() method into the MutablePlasmaBuffer and let it return the object ID.

> [Plasma] Have an automatic object-releasing Create() variant
> ------------------------------------------------------------
>
>                 Key: ARROW-2363
>                 URL: https://issues.apache.org/jira/browse/ARROW-2363
>             Project: Apache Arrow
>          Issue Type: Improvement
>    Affects Versions: 0.8.0
>            Reporter: Antoine Pitrou
>            Priority: Major
>
> Like ARROW-2195, but for Create() instead of Get(). Need creating a new C++ API and using it on the Python side.
>  * Create() currently increments the reference count twice
>  * Both Seal() and Release() decrement the reference count
>  * The returned buffer must also handle the case where Seal() wasn't called : first Release() then Abort()



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)