[ https://issues.apache.org/jira/browse/ARROW-2558?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Li Jin reassigned ARROW-2558: ----------------------------- Assignee: Zhijun Fu > [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 > Assignee: Zhijun Fu > Priority: Minor > Labels: pull-request-available > Fix For: 0.10.0 > > Time Spent: 2h > Remaining Estimate: 0h > > 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)