Bug #43537 MEM agents not resolving hostname-to-IP on each connection
Submitted: 10 Mar 2009 17:01 Modified: 20 Apr 2010 15:01
Reporter: Shawn Green Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Enterprise Monitor: Agent Severity:S3 (Non-critical)
Version:2.0 OS:Any (N/A)
Assigned to: Michael Schuster CPU Architecture:Any
Tags: windmill

[10 Mar 2009 17:01] Shawn Green
Description:
If the IP address of the MEM server changes (for example, due to a vlan switch) the reporting agents are unable to follow. 

How to repeat:
1) Configure MEM server and at least one reporting agent. 

2) Remap the hostname of the MEM server to a new address. 

3) Observe the errors on the agents. 

4) Restart the agent to refresh the IP address of the MEM server. 

5) Observe return to normal operations.

Suggested fix:
Modify the Agent code to avoid any cached hostname resolutions.
[10 Mar 2009 17:25] Kay Roepke
the agent doesn't resolve the URL to MEM itself, the entire URL is passed to libcurl which does the necessary steps.
glancing at the libcurl docs i can't see a way to force re-resolving it.
i'm curious: what's the TTL of their MEM DNS record? might they be seeing their own TTL setting here (and restarting MEM simply takes longer than the TTL)?
[10 Jun 2009 19:01] Kay Roepke
We would need feedback for the question in the above comment to determine the source of the problem.
Thanks
[26 Mar 2010 14:45] Enterprise Tools JIRA Robot
Diego Medina writes: 
Verified fixed on 2.2.0.1652
[20 Apr 2010 15:01] MC Brown
Added a note to 2.2.0 changelog: 

        The IP address of the URL used to communicate with                                                                                                
        &merlin_server; would be resolved only during initial startup                                                                                     
        by an individual &merlin_agent;. This causes problems where                                                                                       
        the &merlin_server; is on a virtual IP address and the DNS is                                                                                     
        used to provide failure to a new IP address. IP address                                                                                           
        caching has now been disabled, which should cause the IP                                                                                          
        address to be re-looked up and updated during a failover of                                                                                       
        the &merlin_server;.