Apurva Mehta created KAFKA-4620: ----------------------------------- Summary: Connection exceptions in JMXTool do not make it to the top level Key: KAFKA-4620 URL: https://issues.apache.org/jira/browse/KAFKA-4620 Project: Kafka Issue Type: Bug Reporter: Apurva Mehta Assignee: Apurva Mehta
If you run JMXTool before the target process is initialized, the JMX connection is refused and the tool quits. Adding the following retry : {code:java} while (retries < maxNumRetries && !connected) { try { System.err.println("Trying to connect to JMX url: %s".format(url)) jmxc = JMXConnectorFactory.connect(url, null) mbsc = jmxc.getMBeanServerConnection() connected = true } catch { case e : Exception => { System.err.println("Could not connect to JMX url: %s. Exception %s".format(url, e.getMessage)) retries += 1 Thread.sleep(500) } } } {code} does not work because the exceptions do not make it to the top level. Running the above code results in the following output on stderr {noformat} Trying to connect to JMX url: service:jmx:rmi:///jndi/rmi://127.0.0.1:9192/jmxrmi Jan 11, 2017 8:20:33 PM ClientCommunicatorAdmin restart WARNING: Failed to restart: java.io.IOException: Failed to get a RMI stub: javax.naming.ServiceUnavailableException [Root exception is java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is: java.net.ConnectException: Connection refused] Jan 11, 2017 8:20:33 PM RMIConnector RMIClientCommunicatorAdmin-doStop WARNING: Failed to call the method close():java.rmi.ConnectException: Connection refused to host: 172.31.15.109; nested exception is: java.net.ConnectException: Connection refused Jan 11, 2017 8:20:33 PM ClientCommunicatorAdmin Checker-run WARNING: Failed to check connection: java.net.ConnectException: Connection refused Jan 11, 2017 8:20:33 PM ClientCommunicatorAdmin Checker-run WARNING: stopping {noformat} We need to add working retry logic to JMXTool so that it can start correctly even if the target process is not ready initially. -- This message was sent by Atlassian JIRA (v6.3.4#6332)