GEODE-3034 exception on auto-reconnect attempt with multicast enabled A bug in JGroups causes this exception. A workaround is to add a non-usable UUID-based address to the view that we use to reinialize JGroups during an auto-reconnect attempt. We've sent this issue to the JGroups email list.
Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/5a6b4b79 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/5a6b4b79 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/5a6b4b79 Branch: refs/heads/feature/GEODE-3023 Commit: 5a6b4b79b7f277d1b86b908cce03216f2bb6cb12 Parents: 060fc36 Author: Bruce Schuchardt <[email protected]> Authored: Tue Jun 6 15:46:53 2017 -0700 Committer: Udo Kohlmeyer <[email protected]> Committed: Fri Jun 9 13:12:03 2017 -0700 ---------------------------------------------------------------------- .../internal/membership/gms/messenger/JGroupsMessenger.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/geode/blob/5a6b4b79/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java index b07aa59..390824e 100644 --- a/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java +++ b/geode-core/src/main/java/org/apache/geode/distributed/internal/membership/gms/messenger/JGroupsMessenger.java @@ -306,7 +306,9 @@ public class JGroupsMessenger implements Messenger { myChannel = (JChannel) oldChannel; // scrub the old channel ViewId vid = new ViewId(new JGAddress(), 0); - View jgv = new View(vid, new ArrayList<>()); + List<Address> members = new ArrayList<>(); + members.add(new UUID(0, 0));// TODO open a JGroups JIRA for GEODE-3034 + View jgv = new View(vid, members); this.myChannel.down(new Event(Event.VIEW_CHANGE, jgv)); UUID logicalAddress = (UUID) myChannel.getAddress(); if (logicalAddress instanceof JGAddress) {
