* Ping all nodes to find out about possible missed events.
* Manufacture notifications for any missed events.
*/
private void queryNodes() {
/* Get the current valid group information. */
ReplicationGroup repGroup = getValidGroup();
/* Send missed REMOVE GroupChangeEvents. */
for (ReplicationNode repNode : repGroup.getRemovedNodes()) {
notifyGroupChange
(new GroupChangeEvent(repGroup,
repNode.getName(),
GroupChangeType.REMOVE));
}
/*
* Send missed ADD GroupChangeEvents, JoinGroupEvent and
* LeaveGroupEvent.
*/
for (ReplicationNode repNode : repGroup.getElectableNodes()) {
pingElectableNodes(repNode, repGroup);
}
}