Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 0.10
    • Fix Version/s: 0.10
    • Component/s: None
    • Labels:
      None

      Description

      The JMS failover is not working due to a regression introduced in rev 1071631.
      More specifically the reason is the following line being removed.

      @@ -257,12 +256,14 @@
      ConnectionClose close = exc.getClose();
      if (close == null)
      {
      + _conn.getProtocolHandler().setFailoverLatch(new CountDownLatch(1));
      +
      try
      {
      if (_conn.firePreFailover(false) && _conn.attemptReconnection())

      { _conn.failoverPrep(); - _qpidConnection.resume(); ---- > This line is removed in this commit. + _conn.resubscribeSessions(); _conn.fireFailoverComplete(); return; }

      On the surface this seems like a unintended omission. However I'd like to investigate it further and find out if this was intentional.
      It if it was, then what was the reason behind it?

      The obvious fix is to re-introduce this line. I have done so and preliminary tests indicates that it will resolve the issue. I haven't seen any other issues.
      However I'd like to look at more information regarding the context of the above change before making a final decision.

        Activity

        Rajith Attapattu created issue -
        Andrew Kennedy made changes -
        Field Original Value New Value
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 0.11 [ 12316272 ]
        Fix Version/s 0.10 [ 12316273 ]
        Resolution Fixed [ 1 ]
        Rajith Attapattu made changes -
        Resolution Fixed [ 1 ]
        Status Resolved [ 5 ] Reopened [ 4 ]
        Andrew Kennedy made changes -
        Assignee Rajith Attapattu [ rajith ] Robbie Gemmell [ gemmellr ]
        Rajith Attapattu made changes -
        Fix Version/s 0.10 [ 12316273 ]
        Fix Version/s 0.11 [ 12316272 ]
        Description The JMS failover is not working due to a regression introduced in rev 1071631.
        More specifically the reason is the following line being removed.

        @@ -257,12 +256,14 @@
                 ConnectionClose close = exc.getClose();
                 if (close == null)
                 {
        + _conn.getProtocolHandler().setFailoverLatch(new CountDownLatch(1));
        +
                     try
                     {
                         if (_conn.firePreFailover(false) && _conn.attemptReconnection())
                         {
                             _conn.failoverPrep();
        - _qpidConnection.resume(); ---- > This line is removed in this comment.
        + _conn.resubscribeSessions();
                             _conn.fireFailoverComplete();
                             return;
                         }

        On the surface this seems like a unintended omission. However I'd like to investigate it further and find out if this was intentional.
        It if it was, then what was the reason behind it?

        The obvious fix is to re-introduce this line. I have done so and preliminary tests indicates that it will resolve the issue. I haven't seen any other issues.
        However I'd like to look at more information regarding the context of the above change before making a final decision.
        The JMS failover is not working due to a regression introduced in rev 1071631.
        More specifically the reason is the following line being removed.

        @@ -257,12 +256,14 @@
                 ConnectionClose close = exc.getClose();
                 if (close == null)
                 {
        + _conn.getProtocolHandler().setFailoverLatch(new CountDownLatch(1));
        +
                     try
                     {
                         if (_conn.firePreFailover(false) && _conn.attemptReconnection())
                         {
                             _conn.failoverPrep();
        - _qpidConnection.resume(); ---- > This line is removed in this commit.
        + _conn.resubscribeSessions();
                             _conn.fireFailoverComplete();
                             return;
                         }

        On the surface this seems like a unintended omission. However I'd like to investigate it further and find out if this was intentional.
        It if it was, then what was the reason behind it?

        The obvious fix is to re-introduce this line. I have done so and preliminary tests indicates that it will resolve the issue. I haven't seen any other issues.
        However I'd like to look at more information regarding the context of the above change before making a final decision.
        Rajith Attapattu made changes -
        Status Reopened [ 4 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]

          People

          • Assignee:
            Robbie Gemmell
            Reporter:
            Rajith Attapattu
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development