[
http://jira.jboss.com/jira/browse/JGRP-416?page=all ]
Jerry Gauthier updated JGRP-416:
--------------------------------
Description:
When I simulate a cluster failure and restart using a Multiplexer channel, the merge
process fails in JGroups with an UnsupportedOperationException in
Multiplexer.mergeServiceState(). The stack trace is as follows.
ERROR [org.jgroups.mux.Multiplexer] problems handling merge view
java.lang.UnsupportedOperationException
at org.jgroups.util.UnmodifiableVector.retainAll(UnmodifiableVector.java:158)
at org.jgroups.mux.Multiplexer.mergeServiceState(Multiplexer.java:867)
at org.jgroups.mux.Multiplexer.handleMergeView(Multiplexer.java:812)
at org.jgroups.mux.Multiplexer.access$200(Multiplexer.java:21)
at org.jgroups.mux.Multiplexer$1.run(Multiplexer.java:287)
I looked at the relevant JGroups code and it appears that JGroups uses a MergeView object
that always returns an UnmodifiableVector when MergeView.getMembers() is invoked. The
Multiplexer.mergeServiceState() method invokes MergeView.getMembers() followed by
UnmodifiableVector.retainAll(), causing the exception to occur.
This problem can be replicated by executing DRMTestCase in JBossAS 5.0. The error occurs
in DRMTestCase.testIsMasterReplica().
was:
When I simulate a cluster failure and restart using a Multiplexer channel, the merge
process fails in JGroups with an UnsupportedOperationException in
Multiplexer.mergeServiceState(). The stack trace is as follows.
ERROR [org.jgroups.mux.Multiplexer] problems handling merge view
java.lang.UnsupportedOperationException
at org.jgroups.util.UnmodifiableVector.retainAll(UnmodifiableVector.java:158)
at org.jgroups.mux.Multiplexer.mergeServiceState(Multiplexer.java:867)
at org.jgroups.mux.Multiplexer.handleMergeView(Multiplexer.java:812)
at org.jgroups.mux.Multiplexer.access$200(Multiplexer.java:21)
at org.jgroups.mux.Multiplexer$1.run(Multiplexer.java:287)
I looked at the relevant JGroups code and it appears that JGroups uses a MergeView object
that always returns an UnmodifiableVector when MergeView.getMembers() is invoked. The
Multiplexer.mergeServiceState() method invokes MergeView.getMembers() followed by
UnmodifiableVector(.retainAll(), causing the exception to occur.
This problem can be replicated by executing DRMTestCase in JBossAS 5.0. The error occurs
in DRMTestCase.isMasterReplica().
MergeView processing fails for Multiplexer channel
--------------------------------------------------
Key: JGRP-416
URL:
http://jira.jboss.com/jira/browse/JGRP-416
Project: JGroups
Issue Type: Bug
Affects Versions: 2.4.1
Reporter: Jerry Gauthier
Assigned To: Bela Ban
When I simulate a cluster failure and restart using a Multiplexer channel, the merge
process fails in JGroups with an UnsupportedOperationException in
Multiplexer.mergeServiceState(). The stack trace is as follows.
ERROR [org.jgroups.mux.Multiplexer] problems handling merge view
java.lang.UnsupportedOperationException
at org.jgroups.util.UnmodifiableVector.retainAll(UnmodifiableVector.java:158)
at org.jgroups.mux.Multiplexer.mergeServiceState(Multiplexer.java:867)
at org.jgroups.mux.Multiplexer.handleMergeView(Multiplexer.java:812)
at org.jgroups.mux.Multiplexer.access$200(Multiplexer.java:21)
at org.jgroups.mux.Multiplexer$1.run(Multiplexer.java:287)
I looked at the relevant JGroups code and it appears that JGroups uses a MergeView object
that always returns an UnmodifiableVector when MergeView.getMembers() is invoked. The
Multiplexer.mergeServiceState() method invokes MergeView.getMembers() followed by
UnmodifiableVector.retainAll(), causing the exception to occur.
This problem can be replicated by executing DRMTestCase in JBossAS 5.0. The error occurs
in DRMTestCase.testIsMasterReplica().
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira