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] [Created] (GEODE-6695) ClientProxyMembershipID.canonicalReference allocates lots of objects

Darrel Schneider created GEODE-6695:
---------------------------------------

             Summary: 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


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)