You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Juan Ramos (Jira)" <ji...@apache.org> on 2020/02/11 12:30:00 UTC

[jira] [Created] (GEODE-7789) Performance Degradation on Servers with Client Subscription Introduced in GEODE-7358

Juan Ramos created GEODE-7789:
---------------------------------

             Summary: Performance Degradation on Servers with Client Subscription Introduced in GEODE-7358
                 Key: GEODE-7789
                 URL: https://issues.apache.org/jira/browse/GEODE-7789
             Project: Geode
          Issue Type: Bug
          Components: client queues, client/server
            Reporter: Juan Ramos
         Attachments: Geode_1.10_Count.png, Geode_Develop_Count.png

On clusters with pool subscriptions enabled, a performance degradation was introduced by GEODE-7358 for regular cache operations.
The {{InternalDistributedMember.getDurableClientAttributes()}} method is indirectly invoked by the methods {{hashCode()}} and {{equals()}} within the {{ClientProxyMembershipID}} class, which is stored in several Java Collection classes across the product (including different types of {{Map}} instances).
Prior to GEODE-7358 the {{DurableClientAttributes}} class instance was cached within the {{NetMember}} class, but now is created every time the method is invoked, resulting in a performance penalty for regular cache operations on servers with subscription enabled.
Using one of our internal testing scenarios and a java profiler we detected that we create ~24 instances of {{DurableClientAttributes}} using Geode 1.10, but ~ 404.037.243 instances using the latest {{develop}} branch (screenshots attached).




--
This message was sent by Atlassian Jira
(v8.3.4#803005)