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

Reply via email to