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

RELAY2.up discards messages

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Blocker Blocker
    • 5.2.16
    • None
    • None
    • False
    • Hide

      None

      Show
      None
    • False

      The following message never reaches the Infinispan code:

      2023-06-27 18:30:26,360 TRACE (jgroups-7,AsyncBackupTest-NodeA) [org.jgroups.protocols.UDP] AsyncBackupTest-NodeA: received [AsyncBackupTest-NodeB to AsyncBackupTest-NodeA, 6 bytes, flags=OOB|NO_TOTAL_ORDER|NO_RELAY], headers are RequestCorrelator: corr_id=0, type=REQ, req_id=1, rsp_expected=true, UNICAST3: DATA, seqno=3, TP: [cluster=LON-1-org.infinispan.xsite.AsyncBackupTest[LON=OPTIMISTIC_TX_RR, NYC=OPTIMISTIC_TX_RC]]
      
      2023-06-27 18:30:26,360 TRACE (jgroups-7,AsyncBackupTest-NodeA) [org.jgroups.protocols.UNICAST3] AsyncBackupTest-NodeA <-- AsyncBackupTest-NodeB: DATA(#3, conn_id=0)
      
      2023-06-27 18:30:26,360 TRACE (jgroups-7,AsyncBackupTest-NodeA) [org.jgroups.protocols.UNICAST3] AsyncBackupTest-NodeA: delivering AsyncBackupTest-NodeB#3
      
      2023-06-27 18:30:26,360 TRACE (jgroups-7,AsyncBackupTest-NodeA) [org.jgroups.protocols.UFC] AsyncBackupTest-NodeB used 6 credits, 3999994 remaining
      

      Looking at the source code, the message goes through the block which never invokes deliver(). The message is lost and never reaches the application.

              if(hdr == null) {     <-- this is true as the log shows no RELAY2 header
                  TopoHeader topo_hdr=msg.getHeader(TOPO_ID);
                  if(topo_hdr != null) {    <-- false
                      handleTopo(topo_hdr, sender, msg, false);
                      return null;
                  }
                  <-- missing deliver???
              }
              else {
                  if(handleAdminMessage(hdr))
                      return null;
                  if(dest != null)
                      handleMessage(hdr, msg);
                  else
                      deliver(dest, sender, msg);
              }
              return null;
      

              rhn-engineering-bban Bela Ban
              pruivo@redhat.com Pedro Ruivo
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: