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

MergeView: marshalling fails when subgroups are not a subset of members

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 3.4
    • None
    • None

      When we have 2 partitions {A,B,C} and {X,Y,Z} and they merge, but one of the members (e.g. Z) is excluded from the merge (e.g. because it is involved in a different merge already), we create the following MergeView:

      MergeView:
      view={A,B,C,X,Y}
      subgroups={A,B,C} {X,Y,Z}
      

      Because the members of the subgroups refer to the merge view via index, the index for Z is -1, and thus - when unmarshalled - Z points to a null creator, which triggers the following stack trace:

      00631037-49819: failed handling incoming message
      java.lang.IllegalArgumentException: creator cannot be null
              at org.jgroups.ViewId.<init>(ViewId.java:32)
              at org.jgroups.ViewId.<init>(ViewId.java:42)
              at org.jgroups.View.create(View.java:90)
              at org.jgroups.MergeView.readFrom(MergeView.java:119)
              at org.jgroups.protocols.pbcast.GMS$GmsHeader.readFrom(GMS.java:1285)
              at org.jgroups.Message.readHeader(Message.java:889)
              at org.jgroups.Message.readFrom(Message.java:803)
              at org.jgroups.protocols.TP.readMessageBatch(TP.java:1796)
              at org.jgroups.protocols.TP.receive(TP.java:1463)
              at org.jgroups.protocols.UDP$PacketReceiver.run(UDP.java:683)
              at java.lang.Thread.run(Unknown Source) 
      

      SOLUTION:

      • When marshalling a MergeView, and a subgroup member has no corresponding member in members, then send the address instead of the index
      • OR: remove all members from subgroups which are not in members

              rhn-engineering-bban Bela Ban
              rhn-engineering-bban Bela Ban
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: