ISSUE: Controller IP changed but the .NET Agent doesn't pick up the DNS Change
The agents are configured to use a hostname currently to communicate with the Controller. The Controller's IP address and DNS entry are being changed, for example in the case that you are migrating your Controller to a new subnet.
By default, the .NET agent leverages the .NET Framework mechanism to do DNS resolution and connection handling. The issue here is that the DNS entry is cached for the period of time set in the TTL for the DNS entry.
As a result, even after a DNS update, there is a chance for failed communication until the TTL expires and the DNS entry gets updated. This is not specific to the .NET Agent but .NET in general.
Because the .NET Agent high availability configuration enables the agent to detect this situation and force a flush of the of the DNS cache, you can take advantage of HA configuration to address this issue.
The agent doesn't enable high availability by default, therefore this requires a configuration change and a restart of the AppDynamics.Agent.Coordinator service for the change to take effect. Then, after the next AppPool recycle the agent will pick up the new DNS information correctly. Because we flush the DNS cache every 5 minutes, the max delay for the change to be visible is 5 minutes.
To enable the correct failover for the agent in the config.xml, set the high_availability attribute to true in the config.xml file similar to the following: