Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-9739

Mina2Consumer exception handler do close session also for IOException

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Estimated Complexity:
      Unknown

      Description

      The camel-mina2 consumer Exception handler (org.apache.camel.component.mina2.Mina2Consumer.ReceiveHandler.exceptionCaught(IoSession, Throwable)
      Is an implementation of the Mina2 interface org.apache.mina.core.service.IoHandler. The Javadoc Mina2 documentation of exceptionCaught explicitly mention, that Mina2 will close the connection for all IOExceptions automatically. But camel-mina2 seems to close the connection for any kind of exception.

      Current behavior: If an error occurs on the transport layer (e.g. secure TCP connection where the certificate was not trusted and a SSLException occure), I saw the following warning:

      org.apache.camel.component.mina2.Mina2Consumer#exceptionCaught(376) - Closing session as an exception was thrown from MINA
      

      And also an error from mina2:

      org.apache.mina.filter.ssl.SslHandler#destroy(210) - Unexpected exception from SSLEngine.closeInbound().
      " javax.net.ssl.SSLException: Inbound closed before receiving peer's close_notify: possible truncation attack?
      

      From a functional perspective, beside the annoying log entries, it looks like the SSL error details are sometime not send properly back to the client.

      Current workaround: I don’t have one.

      Suggested bugfix: Implement the Mina2Consumer exception handling similar to org.apache.mina.handler.stream.StreamIoHandler.exceptionCaught(IoSession, Throwable) and do not handle IoException and simply rethrow them. E.g.

      if (cause instanceof IOException) {
      	LOG.info("IOException will be closed by Mina itself")
      	return;
      }
      

        Attachments

          Activity

            People

            • Assignee:
              acosentino Andrea Cosentino
              Reporter:
              thopap Thomas Papke

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment