Qpid
  1. Qpid
  2. QPID-4289

[Java Client 0-8/0-9.x] Failover functionality sometimes does not restore the connection

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.16, 0.18, 0.19
    • Fix Version/s: 0.19
    • Component/s: Java Client
    • Labels:
      None

      Description

      Failover functionality on 0-8/0-9.x java client does not restore the connection in the following scenarios:

      • when on initial establishing of the connectivity the connection object is marked as closed after not being able to connect to the first brokers from the broker list but at the end it manages to connect to the one of the following brokers from the broker list
      • there is a racing condition between waking up the connection state waiter and closing the phisical connection on receiving ConnectionClose command from the broker. As result, waiters are notified, new connection is created and closed afterwards.
      • on killing the broker when no IOException is thrown from socket input/output streams but instead -1 is returned by read operation, the failover starts but IoSender thread is left running. As result, on multiple reconnection attempts the thread resources can be exhausted and that can potentially result in OOME.

        Issue Links

          Activity

            People

            • Assignee:
              Philip Harvey
              Reporter:
              Alex Rudyy
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development