Bela Ban created JGRP-1858:
------------------------------
Summary: TP: update the timestamp of an entry in logical_addr_cache when it
is removed
Key: JGRP-1858
URL:
https://issues.jboss.org/browse/JGRP-1858
Project: JGroups
Issue Type: Bug
Security Level: Public (Everyone can see)
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 3.4.5, 3.5
{{TP.logical_addr_cache}} maintains mappings between UUIDs and IP addresses. When an
address is removed from it, it is not really removed but only marked as
'removable'.
When the cache exceeds its capacity, all removable values are removed.
However, we also have a cache reaper, which periodically (every
{{logical_addr_cache_expiration}} ms) removes all values marked as removable. The default
is 2 minutes. This means that the reaper runs every 2 minutes and drops removable entries
that are older than 2 minutes.
If we have an entry for member P which was added 2 hours ago, and now member P leaves,
then that entry is marked as removable. If the reaper happens to kick in just after P
left, P's entry will be removed *immediately* !
SOLUTION:
* Update the timestamp of an entry when it is marked from normal to removable (don't
mark it twice !)
* Allow for 0 as a valid reaper interval (disabling reaping)
* Introduce a {{reaper_interval}} (when the reaper runs) and
{{logical_addr_cache_expiration}} (already exists)
** The former has to be smaller than the latter
--
This message was sent by Atlassian JIRA
(v6.2.6#6264)