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

Mina2Consumer exception handler do close session also for IOException

    XMLWordPrintableJSON

Details

    • 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

        1. IoException.patch
          2 kB
          Thomas Papke

        Activity

          People

            acosentino Andrea Cosentino
            thopap Thomas Papke
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: