[ https://issues.apache.org/jira/browse/GEODE-7789?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17036096#comment-17036096 ]
ASF subversion and git services commented on GEODE-7789: -------------------------------------------------------- Commit 71e156a55228d89efafd048e1533debba606c064 in geode's branch refs/heads/develop from Juan José Ramos [ https://gitbox.apache.org/repos/asf?p=geode.git;h=71e156a ] GEODE-7789: Cache DurableClienAttributes (#4687) Keep the last known 'DurableClienAttributes' cached within the 'InternalDistributedMember' class to avoid the overhead of creating a new instance every time. > 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 > Affects Versions: 1.12.0 > Reporter: Juan Ramos > Assignee: Juan Ramos > Priority: Major > Labels: GeodeCommons > Attachments: Geode_1.10_Count.png, Geode_Develop_Count.png > > Time Spent: 0.5h > Remaining Estimate: 0h > > 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)