[
https://issues.apache.org/jira/browse/ARROW-2045?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16342457#comment-16342457
]
Robert Nishihara commented on ARROW-2045:
-----------------------------------------
That makes sense. So if I understand correctly, the smallest change that would
enable this to work for you is to be able to call {{put}} and pass in a flag
that says not to evict anything if there is not enough space.
Then you could implement a blocking put by calling {{put}}, catching any
exceptions, and looping until the {{put}} call succeeds.
And the blocking {{get}} is already implemented.
Does that sound right?
> More primitive operations on plasma store
> -----------------------------------------
>
> Key: ARROW-2045
> URL: https://issues.apache.org/jira/browse/ARROW-2045
> Project: Apache Arrow
> Issue Type: New Feature
> Components: Plasma (C++)
> Reporter: Yuxin Wu
> Priority: Minor
>
> Hi Developers,
> I found plasma store very useful – it's fast and simple to use. However, I
> think there are more operations that can make it a more general IPC/messaging
> tool and potentially helpful in more scenarios.
> Conceptually, an object store can support the following "put" methods:
> # Evict when full
> # Wait for space when full, perhaps with a timeout (i.e. blocking)
> # Return failure when full (i.e. non-blocking)
> And the following "get" methods:
> # Wait for the object to appear (i.e. blocking)
> # Return failure when object doesn't exist (i.e. non-blocking)
> # Remove the object after get
> Some of the above features can be implemented with others. But some of them
> are primitives (e.g. return failure when full) that needs to be supported.
>
> My use case: I wanted to use plasma to send/recv large buffers between
> processes, i.e. build a message passing interface on top of shared memory.
> Plasma has made it quite easy (only have to send/recv the id) and efficient
> (faster than unix pipe). But "evict when full" is now the only available
> "put" method, so that could create many trouble if I want to ensure message
> delivery.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)