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)