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

Transient network problems cause JMX thread to fail silenty

    XMLWordPrintable

    Details

      Backports

        Description


        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.

          Attachments

            Issue Links

              Activity

                People

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

                  Dates

                  Created:
                  Updated:
                  Resolved: