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

Juan Ramos updated GEODE-7789:
------------------------------
    Description: 
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 (not only extra garbage, the constructor 
itself also does some string manipulation).
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).


  was:
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).



> 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
>            Assignee: Juan Ramos
>            Priority: Major
>              Labels: GeodeCommons
>         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 (not only extra garbage, the constructor 
> itself also does some string manipulation).
> 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)

Reply via email to