Menu

What will happen if an updated jgroups view message missed by a member?

Help
Subhash C
2021-01-12
2021-01-14
  • Subhash C

    Subhash C - 2021-01-12

    In our code, we have attached custom org.jgroups.ReceiverAdapter to the channel for the callback.

    private JChannel channel = new JChannel(is)
    channel.setReceiver(new JGroupsListener());

    class JGroupsListener extends ReceiverAdapter {

        @Override
        public void viewAccepted(final View view) {
            viewChange(view);
        }
    
        @Override
        public void receive(final Message message) {
            processMessage(message);
        }
    

    }
    One of the members left the cluster, and the coordinator sent the new view to all existing members. But only a few members received the new view change notification and others did not receive it.

    If the particular packet with the new view is missed by any member,

    Will the coordinator resend the view again to that member?
    If the coordinator resends the view then will that call invoke the ReceiverAdapter set in the channel?
    jgroup version: 3.6.7.11.Final

    Protocols used: TCP, MERGE3, FD_SOCK, FD, VERIFY_SUSPECT, NAKACK2, UNICAST3, GMS, FRAG2, RSVP

     
    • Bela Ban

      Bela Ban - 2021-01-12

      First off, I highly recommend to upgrade to a newer version (3.6.7 is 4+
      years old)...

      Comments inline

      On 12.01.21 2:16 pm, Subhash C wrote:

      In our code, we have attached custom org.jgroups.ReceiverAdapter to
      the channel for the callback.

      private JChannel channel = new JChannel(is)
      channel.setReceiver(new JGroupsListener());

      class JGroupsListener extends ReceiverAdapter {

      @Override
      publicvoidviewAccepted(finalViewview){
      viewChange(view);
      }

      @Override
      publicvoidreceive(finalMessagemessage){
      processMessage(message);
      }

      }
      One of the members left the cluster, and the coordinator sent the new
      view to all existing members. But only a few members received the new
      view change notification and others did not receive it.

      All existing members should receive the view. If a member drops it, the
      view will get retransmitted before any other multicast message from the
      coordinator.

      If the particular packet with the new view is missed by any member,

      Will the coordinator resend the view again to that member?

      Yes

      If the coordinator resends the view then will that call invoke the
      ReceiverAdapter set in the channel?

      yes

      jgroup version: 3.6.7.11.Final

      Protocols used: TCP, MERGE3, FD_SOCK, FD, VERIFY_SUSPECT, NAKACK2,
      UNICAST3, GMS, FRAG2, RSVP


      What will happen if an updated jgroups view message missed by a
      member?
      https://sourceforge.net/p/javagroups/discussion/18795/thread/d3705ccc4d/?limit=25#f63c


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/javagroups/discussion/18795/
      https://sourceforge.net/p/javagroups/discussion/18795/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/
      https://sourceforge.net/auth/subscriptions/

      --
      Bela Ban, JGroups lead (http://www.jgroups.org)

       
      • Subhash C

        Subhash C - 2021-01-12

        Hi @belaban

        Thanks for your reply.

        First off, I highly recommend to upgrade to a newer version (3.6.7 is 4+
        years old)...

        We have maintaining this version to support an old version of application

        If the particular packet with the new view is missed by any member,

        Will the coordinator resend the view again to that member?
        Yes

        If the coordinator resends the view then will that call invoke the
        ReceiverAdapter set in the channel?
        yes

        Thank you very much for confirming the behavior.
        This makes us difficulty to find the actual issue here.

        We are not sure how did those messages are missed at the receiver side, and havent seen any retransmission error at the coordinator as well.

        But seen below warning message from jgroups,

        2021-01-10T13:41:29.208+00:00@My-server-1@JBOSS@WARNING [org.jgroups.protocols.pbcast.GMS] (Incoming-1,MyClusterGroup,My-server-1-36543) My-server-1-36543: failed to create view from delta-view; dropping view: java.lang.IllegalStateException: the view-id of the delta view ([My-server-2-54347|191]) doesn't match the current view-id ([My-server-2-54347|190]); discarding delta view [My-server-2-54347|192], ref-view=[My-server-2-54347|191], joined=[b5e3bdf3-a951-6887-c39b-891473876779]
        
        .............................
        
        2021-01-10T13:42:26.878+00:00@My-server-1@JBOSS@WARNING [org.jgroups.protocols.pbcast.GMS] (Incoming-1,MyClusterGroup,My-server-1-36543) My-server-1-36543: failed to create view from delta-view; dropping view: java.lang.IllegalStateException: the view-id of the delta view ([My-server-2-54347|201]) doesn't match the current view-id ([My-server-2-54347|190]); discarding delta view [My-server-2-54347|202], ref-view=[My-server-2-54347|201], left=[My-server-2-40127]
        

        As per our understanding this error indicate that My-server-1 has the view id My-server-2-54347|190 and it always discard the new view from the coordinator as the reference view id is not matching.

        This issue look similar to https://issues.redhat.com/browse/JGRP-2092. Where we have more than one view and coordinator with different members hence the new view notification is failed!

        Unfortunately we dont have the jprobe collected during this issue.

        Thanks,
        Subhash C

         

        Last edit: Subhash C 2021-01-13
        • Bela Ban

          Bela Ban - 2021-01-14

          Hi Subhash

          I don't support such an old version. IIRC, the issue you've run into has
          been fixed a while ago, don't remember in which version.
          Regards

          On 12.01.21 3:30 pm, Subhash C wrote:

          Hi Bela Ban,

          Thanks for your reply.

          First off, I highly recommend to upgrade to a newer version (3.6.7
          is 4+
          years old)...
          

          We have maintaining this version to support an old version of application

          If the particular packet with the new view is missed by any member,
          
          Will the coordinator resend the view again to that member?
          Yes
          
          If the coordinator resends the view then will that call invoke the
          ReceiverAdapter set in the channel?
          yes
          

          Thank you very much for confirming the behavior.
          This makes us difficulty to find the actual issue here.

          We are not sure how did those messages are missed at the receiver
          side, and havent seen any retransmission error at the coordinator as well.

          But seen below warning message from jgroups,

          2021-01-10T13:41:29.208+00:00@My-server-1@JBOSS@WARNINGorg.jgroups.protocols.pbcast.GMSMy-server-1-36543:failedtocreateviewfromdelta-view;droppingview:java.lang.IllegalStateException:theview-idofthedeltaview([My-server-2-54347|191])doesn't
          match the current view-id ([My-server-2-54347|190]); discarding delta
          view [My-server-2-54347|192], ref-view=[My-server-2-54347|191],
          joined=[b5e3bdf3-a951-6887-c39b-891473876779]

          .............................

          2021-01-10T13:42:26.878+00:00@My-server-1@JBOSS@WARNING
          [org.jgroups.protocols.pbcast.GMS]
          (Incoming-1,MyClusterGroup,My-server-1-36543) My-server-1-36543:
          failed to create view from delta-view; dropping view:
          java.lang.IllegalStateException: the view-id of the delta view
          ([My-server-2-54347|201])
          doesn'tmatchthecurrentview-id([My-server-2-54347|190]);discardingdeltaview[My-server-2-54347|202],ref-view=[My-server-2-54347|201],left=[My-server-2-40127]

          As per our understanding this error indicate that My-server-1 has the
          view id My-server-2-54347|190 and it always discard the new view
          from the coordinator as the reference view id is not matching.

          Is this issue similar to https://issues.redhat.com/browse/JGRP-2092.
          https://issues.redhat.com/browse/JGRP-2092.

          Unfortunately we dont have the jprobe collected during this issue.

          Thanks,
          Subhash C


          What will happen if an updated jgroups view message missed by a
          member?
          https://sourceforge.net/p/javagroups/discussion/18795/thread/d3705ccc4d/?limit=25#f63c/8a8f/f03e


          Sent from sourceforge.net because you indicated interest in
          https://sourceforge.net/p/javagroups/discussion/18795/
          https://sourceforge.net/p/javagroups/discussion/18795/

          To unsubscribe from further messages, please visit
          https://sourceforge.net/auth/subscriptions/
          https://sourceforge.net/auth/subscriptions/

          --
          Bela Ban, JGroups lead (http://www.jgroups.org)

           
  • Subhash C

    Subhash C - 2021-01-14

    Hi @belaban,

    I don't support such an old version. IIRC, the issue you've run into has
    been fixed a while ago, don't remember in which version.

    Yes, i think it is fixed as part of https://issues.redhat.com/browse/JGRP-2092.
    Versions: 3.6.11, 4.0

    Thanks,
    Subhash C

     

Log in to post a comment.