-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/50089/
-----------------------------------------------------------

(Updated July 19, 2016, 11:43 p.m.)


Review request for geode, anilkumar gingade, Barry Oglesby, Bruce Schuchardt, 
Jason Huynh, Lynn Hughes-Godfrey, Lynn Gallinat, William Markito, nabarun nag, 
Dan Smith, and xiaojian zhou.


Changes
-------

Added changes based on review comments. Added new unit tests.


Repository: geode


Description
-------

GEODE-1669: Performance issue with Interest registration with impact on client 
side event processing

This is in relation to internal ticket GEM-437.

The client interests are managed in "FilterProfile" class on server side. These 
are maintained using the concurrent data structures CopyOnWriteHashSet and 
CopyOnWriteHashMap...

When set of keys are registered from client, the keys are added to 
CopyOnWriteHashSet one by one (FilterProfile.registerClientInterestList()); 
Where a new HashSet is created each time when an entry is added, which could 
impact performance based on the number of keys registered.

This will have implication on the client side event processing; as the event 
processing gets blocked when a interest registration is in progress by other 
thread.

Change/Solution:

Instead of adding the keys one by one; the keys are added using addAll(). This 
avoids creating one hashset per interest key, which was making the registration 
process to take longer time.


Diffs (updated)
-----

  
geode-core/src/main/java/com/gemstone/gemfire/internal/cache/FilterProfile.java 
08a6484 
  
geode-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/FilterProfileJUnitTest.java
 5d53dd2 

Diff: https://reviews.apache.org/r/50089/diff/


Testing
-------


Thanks,

anilkumar gingade

Reply via email to