]
David Hotham commented on JGRP-1541:
------------------------------------
For what it's worth, I have implemented more or less this scheme at the application
level.
I doubt that it would have helped me if JGroups already offered this function - because I
store a little more (application-level) information about known nodes than just their
address.
So perhaps this isn't very helpful input: you could reasonably take it either as
evidence that there is demand for such function, or as evidence that there's no need
for it and an application-layer solution is OK. But I thought I would let you know.
Happy to answer questions, if you have any, about the details of what I've done.
Discovery: persist discovery responses
--------------------------------------
Key: JGRP-1541
URL:
https://issues.jboss.org/browse/JGRP-1541
Project: JGroups
Issue Type: Feature Request
Reporter: Bela Ban
Assignee: Bela Ban
Fix For: 3.3
When we use TCPPING.initial_hosts=A, and have nodes A, B and C, then the following can
happen:
- A is started. The view is {A}
- B is started, finds A and joins the cluster. The view is {A,B}
- C is started, finds A and joins the cluster. The view is now {A,B,C}
- A is killed. The view is now {B,C}
- C is restarted
--> C won't find A therefore cannot ask B to join it (C doesn't know about B)
SOLUTION:
- If every member persisted its discovery results on disk, C would still know about A and
B, and could therefore discover B
- This could be implemented directly in TCPPING, or as a generic, separate, protocol
(possibly useful for other discovery protocols such as S3_PING, TCPGOSSIP (when the
GossipRouter is down) as well)
- The disk cache would have to include an expiry mechanism, so that the file doesn't
grow forever, and also stale results aren't returned forever
- This mechanism would not work though if C came up the first time (no file on disk yet)
and A wasn't running.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: