Uploaded image for project: 'JGroups'
  1. JGroups
  2. JGRP-416

MergeView processing fails for Multiplexer channel

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 2.5
    • 2.4.1
    • None

    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().

      Attachments

        Issue Links

          Activity

            People

              vblagoje Vladimir Blagojevic (Inactive)
              jerrygauth Jerry Gauthier (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: