Description:
The service manager can not monitor mysqld servers that have a server-id value set past the bounds of a signed int value, causing errors such as:
at com.mysql.util.SerializedXML.initXML(SerializedXML.java:42)
at com.mysql.merlin.server.agent.AgentHeartbeatRequest.fromXml(AgentHeartbeatRequest.java:38)
... 21 more
Caused by: java.lang.NumberFormatException: For input string: "10147204028"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:459)
at java.lang.Integer.<init>(Integer.java:620)
at com.mysql.util.SerializedXML.setField(SerializedXML.java:176)
at com.mysql.util.SerializedXML.initXML(SerializedXML.java:293)
at com.mysql.util.SerializedXML.setField(SerializedXML.java:217)
at com.mysql.util.SerializedXML.initXML(SerializedXML.java:293)
at com.mysql.util.SerializedXML.setField(SerializedXML.java:199)
at com.mysql.util.SerializedXML.initXML(SerializedXML.java:293)
at com.mysql.util.SerializedXML.setField(SerializedXML.java:217)
at com.mysql.util.SerializedXML.initXML(SerializedXML.java:293)
at com.mysql.util.SerializedXML.initXML(SerializedXML.java:40)
... 22 more
From the agent:
<server>
<hostname>host.server.com</hostname>
<port>3306</port>
<version>5.0.36-standard-log</version>
<masterHost>10.1.1.100</masterHost>
<masterPort>3306</masterPort>
<serverId>10147204028</serverId>
How to repeat:
Set the server-id value for mysqld to 10147204028, try to run an agent against it
Suggested fix:
Set serverId to long instead of int