Re: [jgroups-users] ArrayIndexOutOfBounds exception in STABLE.installView()
Questions/problems related to using JGroups <[email protected]> Wed, 7 Jun 2017 06:40:41 -0700
| Newsgroups | gmane.comp.java.javagroups.general |
|---|---|
| Message-ID | <mailman.2630.1496842853.30453.javagroups-users@lists.sourceforge.net> |
Thanks Bela - I'll check out the CLEAR_VIEW option. That would be a better workaround, I think. > Le 6 juin 2017 à 23:49, Questions/problems related to using JGroups <[email protected]> a écrit : > > I checked the code and changed all occurrences of view.getMembers().get(0) // or iterator.next() to View.getCoord(), as this wasn't much work. > > Committed to master (will be 4.0.4) > > [1] https://issues.jboss.org/browse/JGRP-2193 > >> On 05/06/17 23:51, Questions/problems related to using JGroups wrote: >> Hi, >> >> In Apache Geode I have a small protocol stack with no GMS where I manage >> and install my own membership view into the channel. During one >> transition I need to clear the view from the stack so I create a View >> with no members and send it in a view-change to the channel. >> Unfortunately STABLE isn't using View.getCoord() to get the current >> membership coordinator and is using getMembers().get(0) instead, causing >> an exception. >> >> ViewId vid = new ViewId(new JGAddress(), 0); >> List<Address> members = new ArrayList<>(); >> View jgv = new View(vid, members); >> this.myChannel.down(new Event(Event.VIEW_CHANGE, jgv)); >> >> java.lang.ArrayIndexOutOfBoundsException: 0 >> at java.util.Arrays$ArrayList.get(Arrays.java:3841) >> at java.util.Collections$UnmodifiableList.get(Collections.java:1309) >> at org.jgroups.protocols.pbcast.STABLE.handleViewChange(STABLE.java:365) >> at org.jgroups.protocols.pbcast.STABLE.down(STABLE.java:328) >> at org.jgroups.protocols.FlowControl.down(FlowControl.java:347) >> at org.jgroups.protocols.FlowControl.down(FlowControl.java:347) >> at org.jgroups.protocols.FRAG2.down(FRAG2.java:136) >> at org.jgroups.stack.ProtocolStack.down(ProtocolStack.java:1039) >> at org.jgroups.JChannel.down(JChannel.java:790) >> at >> org.apache.geode.distributed.internal.membership.gms.messenger.JGroupsMessenger.start(JGroupsMessenger.java:310) >> >> >> It seems like any use of View.getMembers().get(0) should be changed to >> View.getCoord() and the code should be prepared to deal with a null >> return value. >> >> Bruce Schuchardt >> >> >> ------------------------------------------------------------------------------ >> >> Check out the vibrant tech community on one of the world's most >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot >> _______________________________________________ >> javagroups-users mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/javagroups-users > > -- > Bela Ban | http://www.jgroups.org > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > javagroups-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/javagroups-users ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ javagroups-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/javagroups-users