You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Darrel Schneider (JIRA)" <ji...@apache.org> on 2019/04/23 01:33:00 UTC

[jira] [Assigned] (GEODE-6695) ClientProxyMembershipID.canonicalReference allocates lots of objects

     [ https://issues.apache.org/jira/browse/GEODE-6695?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Darrel Schneider reassigned GEODE-6695:
---------------------------------------

    Assignee: Darrel Schneider

> ClientProxyMembershipID.canonicalReference allocates lots of objects
> --------------------------------------------------------------------
>
>                 Key: GEODE-6695
>                 URL: https://issues.apache.org/jira/browse/GEODE-6695
>             Project: Geode
>          Issue Type: Improvement
>          Components: serialization
>            Reporter: Darrel Schneider
>            Assignee: Darrel Schneider
>            Priority: Major
>
> ClientProxyMembershipID.canonicalReference ends up allocating a large number of objects that get garbage collected. The cause of this is that when it goes to do a lookup on the ConcurrentHashMap to see if a canonical id exists, it calls ClientProxyMembershipID.hashCode which in turn calls isDurable(). This method calls getDistributedMember which does a deserialization of the identity byte array which does lots of object allocations.
> I think we can instead check for a ClientProxyMembershipID whose uniqueId and identity are equal. If we find one then we can use it as the canonical id. 



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