Details
-
Bug
-
Resolution: Done
-
Major
-
13.0.2.Final
-
None
Description
The SubscriberHandler stores all the keys for a current iteration in a HashSet by segment. This does not need to be a Set as we should be able to trust the remote node to return unique keys and is actually adding a Set on a retry anyways. By using an ArrayList instead of set we use much less memory per key as we don't have to create a Node entry and also don't need buckets of entries. An ArrayList also resizes much better than a HashSet as well if the iteration has a lot of keys for a given segment.