Qpid
  1. Qpid
  2. QPID-4359

[Java Broker] an IOException is logged when closing a connection which is using SSL

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.19
    • Component/s: Java Broker
    • Labels:
      None

      Description

      When closing a connection which is using SSL, an IOException is logged by the broker.

      E.g "ERROR [qpid.server.protocol.AMQProtocolEngine] IOException caught inlocalhost.localdomain/127.0.0.1:60015(guest), session closed implictly: java.net.SocketException: Socket is closed"

        Activity

        Transition Time In Source Status Execution Times Last Executer Last Execution Date
        Open Open Resolved Resolved
        7d 5h 8m 1 Robbie Gemmell 12/Oct/12 15:27
        Resolved Resolved Closed Closed
        852d 5h 38m 1 Rob Godfrey 11/Feb/15 20:06
        Rob Godfrey made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Robbie Gemmell made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Robbie Gemmell added a comment -

        Resolving.

        Show
        Robbie Gemmell added a comment - Resolving.
        Robbie Gemmell made changes -
        Summary [Java Broker] an IOException is logged when closing a connection which is SSL [Java Broker] an IOException is logged when closing a connection which is using SSL
        Robbie Gemmell made changes -
        Assignee Robbie Gemmell [ gemmellr ]
        Hide
        Robbie Gemmell added a comment -

        This seems to be because whilst the client is using an SSLEngine for SSL over a Socket the broker is using an SSLSocket produced by its SSLServerSocket and its behaviour for a final read attempt when also closing down the connection is different, such that the IOReceivers final attempt to read the socket causes the SocketException to occur which it then reports. As a workaround, a check will be added to suppress this particular SocketException in the case we have just closed the IoReceiver.

        Show
        Robbie Gemmell added a comment - This seems to be because whilst the client is using an SSLEngine for SSL over a Socket the broker is using an SSLSocket produced by its SSLServerSocket and its behaviour for a final read attempt when also closing down the connection is different, such that the IOReceivers final attempt to read the socket causes the SocketException to occur which it then reports. As a workaround, a check will be added to suppress this particular SocketException in the case we have just closed the IoReceiver.
        Robbie Gemmell made changes -
        Field Original Value New Value
        Description When closing a connection which is using SSL, an IOException is logged by the broker.

        E.g "ERROR [qpid.server.protocol.AMQProtocolEngine] IOException caught inlocalhost.localdomain/127.0.0.1:60015(guest), session closed implictly: java.net.SocketException: Socket is closed"
        When closing a connection which is using SSL, an IOException is logged by the broker.

        E.g "ERROR \[qpid.server.protocol.AMQProtocolEngine\] IOException caught inlocalhost.localdomain/127.0.0.1:60015(guest), session closed implictly: java.net.SocketException: Socket is closed"
        Robbie Gemmell created issue -

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Development