Zhijun Fu created ARROW-2558:
--------------------------------

             Summary: [Plasma] avoid walk through all the objects when a client 
disconnects
                 Key: ARROW-2558
                 URL: https://issues.apache.org/jira/browse/ARROW-2558
             Project: Apache Arrow
          Issue Type: Improvement
          Components: Plasma (C++)
            Reporter: Zhijun Fu


Currently plasma stores list-of-clients in ObjectTableEntry, which is used to 
track which clients are using a given object, this serves for two purposes:
- If an object is in use.
- If the client trying to abort an object is the one who created it.

A problem with list-of-clients approach is that when a client disconnects, we 
need to walk through all the objects and remove the client pointer from the 
list for each object.

Instead, we could add a reference count in ObjectTableEntry, and store 
list-of-object-ids in client structure. This could both goals that the original 
approach is targeting, while when a client disconnects, it just walk through 
its object-ids and dereference each ObjectTableEntry, there's no need to walk 
through all objects.



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

Reply via email to