]
Bela Ban updated JGRP-2359:
---------------------------
Fix Version/s: 4.0.21
Route list can be empty
-----------------------
Key: JGRP-2359
URL:
https://issues.jboss.org/browse/JGRP-2359
Project: JGroups
Issue Type: Bug
Affects Versions: 4.1.1, 4.0.20
Reporter: Pedro Ruivo
Assignee: Pedro Ruivo
Priority: Major
Fix For: 4.1.2, 4.0.21
The list of routes is changed without proper synchronization. One example, I got an empty
list when in Infinispan when try to select the route to use:
{code}
Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:657)
at java.util.ArrayList.get(ArrayList.java:433)
at
org.infinispan.remoting.transport.jgroups.SiteMasterPickerImpl.pickRoute(SiteMasterPickerImpl.java:26)
at org.jgroups.protocols.relay.Relayer.getRoute(Relayer.java:126)
at org.jgroups.protocols.relay.RELAY2.route(RELAY2.java:566)
at org.jgroups.protocols.relay.RELAY2.down(RELAY2.java:425)
at org.jgroups.stack.Protocol.down(Protocol.java:317)
at org.jgroups.fork.ForkProtocol.down(ForkProtocol.java:42)
at org.jgroups.fork.ForkProtocolStack.down(ForkProtocolStack.java:62)
at org.jgroups.fork.ForkChannel.send(ForkChannel.java:222)
at org.jgroups.fork.ForkChannel.send(ForkChannel.java:21)
at
org.infinispan.remoting.transport.jgroups.JGroupsTransport.send(JGroupsTransport.java:1035)
{code}
One possible solution is to do a copy of the list before changing it in the view change
method invocation (for the bridge)