[
https://issues.apache.org/jira/browse/ARROW-8873?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Joris Van den Bossche updated ARROW-8873:
-----------------------------------------
Component/s: C++ - Plasma
> [Plasma][C++] Usage model for Object IDs. Object IDs don't disappear after
> delete
> ---------------------------------------------------------------------------------
>
> Key: ARROW-8873
> URL: https://issues.apache.org/jira/browse/ARROW-8873
> Project: Apache Arrow
> Issue Type: Test
> Components: C++, C++ - Plasma, Python
> Affects Versions: 0.17.0
> Reporter: Abe Mammen
> Priority: Major
>
> I have an environment that uses Arrow + Plasma to send requests between
> Python clients and a C++ server that responds with search results etc.
> I use a sequence number based approach for Object ID creation so its
> understood on both sides. All that works well. So each request from the
> client creates a unique Object ID, creates and seals it etc. On the other
> end, a get against that Object ID retrieves the request payload, releases and
> deletes the Object ID. A similar response scheme for Object IDs are used from
> the server side to the client to get search results etc where it creates its
> own unique Object ID understood by the client. The server side creates and
> seals and the Python client side does a get and deletes the Object ID (there
> is no release method in Python it appears). I have experimented with deleting
> the plasma buffer.
> The end result is that as transactions build up, the server side memory use
> goes way up and I can see that a good # of the objects aren't deleted from
> the Plasma store until the server exits. I have nulled out the search result
> part too so that is not what is accumulating. I have not done a memory
> profile but wanted to get some feedback on some what might be wrong here.
> Is there a better way to use Object IDs for example? And what might be
> causing the huge memory usage. In this example, I had ~4M transactions
> between clients and the server which hit a memory usage of about 10+ GB which
> is in the ballpark of the size of all the payloads. Besides doing
> release-deletes on Object IDs, is there a better way to purge and remove
> these objects?
> Any help is appreciated.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)