Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8049303

Transient network problems cause JMX thread to fail silenty

XMLWordPrintable


        By default the JMX client side notification fetch timeout
        (jmx.remote.x.notification.fetch.timeout) is 1 minute and the default server
        connection timeout (jmx.remote.x.server.connection.timeout) is 2 minutes.

        If the client side connector thread makes a notification fetch request to
        the server, but a transient network problem prevents the server response
        from reaching the client, the client side connector will wait for a
        response until the timeout period (1 minute) has expired before throwing an
        IOException.

        The client side RMIConnector implementation handles the IOException, by
        re-checking the connection status to understand whether or not it is
        broken. If the connection is available at that moment, the connector fails
        by re-throwing the initial IOException. The problem is that this re-check
        of the connection passes because the server side of the connection doesn't
        time out until 2 minutes has passed (by default) - the NotifFetcher thread
        dies without posting a failed notification, and the client application does
        not get a chance to recover.

              sjiang Shanliang Jiang (Inactive)
              shadowbug Shadow Bug
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: