----------------------------------------------------------- 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