I'm just trying the distributed executor in 5.0.0.CR1. My first test is to start a cache with one member only (but with clustered cache configuration as it is required). When I submitted a runnable in to a DistributedExecutorService with a single node, it got an error:
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.RangeCheck(ArrayList.java:547) at java.util.ArrayList.get(ArrayList.java:322) at org.infinispan.distexec.DefaultExecutorService.randomClusterMemberOtherThanSelf(DefaultExecutorService.java:451) at org.infinispan.distexec.DefaultExecutorService.execute(DefaultExecutorService.java:278)
there is only one member and no "cluster member other than self". Should the single node use case be supported? I suppose there is no harm to allow user to use the executor in a single node, for example, for unit testing.
if this use case is not supported, I suggest to throw an exception with better explanation