IP Addresses do not resolve to current DNS name: 2038 Error
search cancel

IP Addresses do not resolve to current DNS name: 2038 Error


Article ID: 48866


Updated On:


CA Application Delivery Analysis MTP (NetQoS / ADA) CA Infrastructure Performance




IP addresses in RA are not updating the DNS names even after attempting to expire the IP address on the Adminstration->Addresses page.


This can occur if any of the IP addresses are set to expire later then the year 2038.

If this is the case you will see the following message repeat in the <InstallDirectory>\NetQos\reporter\logs\ReporterAnalyzerManagerService_DNSLog*.log file:

 	Time occurs after 2038 	
 	Parameter name: utcDateTime 	
 	System.ArgumentException: Time occurs after 2038 	
 	Parameter name: utcDateTime 	
 	 at NetQoS.Core.TimeZone.NQTimeZone.UtcDateTimeToUtcUnix(DateTime utcDateTime) 	
 	 at NetQoS.Core.TimeZone.NQTimeZone.UtcDateTimeToUtcUnixInt(DateTime utcDateTime) 	
 	 at NetQoS.ReporterAnalyzer.Data.ReporterAnalyzer.AddressDefinitionsDc.UpdateHostName
 	 (IPAddress address, UInt32 domainId, String name, DateTime expireTime) 	
 	 at NetQoS.ReporterAnalyzer.Business.Host.UpdateHostName() 	
 	 at NetQoS.ReporterAnalyzer.Business.DnsThread.UpdateHosts(Host[] resolvedHosts) 	
 	 at NetQoS.ReporterAnalyzer.Business.DnsThread.ResolvedHostsCallback(Host[] hosts) 	
 	 at NetQoS.DataSource.Client.DnsProxy.DnsProxyClient.WorkThread()



To identify the problem you can use the queries below to see if any of the dates for TTL or expiretime in the address_definitions table would expire after 2038.

  1. On the RA Console server check the TTL column of the address_definitions table for any amount of time that would exceed 2038. In most cases its usually set to 99y which equals 99 years, which is well past the year 2038.

    mysql -P3308 reporter

    select distinct ttl from address_definitions order by ttl desc;

    The results listed will have the longest time periods listed at the top of the query, anything with 99y would show up on the top of the list.

  2. If TTL is set to 99y anywhere in this table you can use the query below to set them to 1 week while still in the 'reporter' database.

    update address_definitions set ttl='1w' where ttl='99y';

    **Note** If there is some other date that would be past the year 2038 is returned in step 1, you would use that date in the where clause above instead.

  3. You may also need to check to see if the 'expiretime' column date is later then the year 2038 in the address_definitions table. Unlike the 'TTL' column, the 'expiretime' column is stored in unixtime.

    You can use the query below to identify if any of the values violate the 2038 rule:

    mysql -P3308 reporter

    select from_unixtime(expiretime) from address_definitions where expiretime > 2177366400;

    If no results are found skip to step 5, if any results are returned then proceed to step 4.

  4. If you do get any results from the query in step 3 run the query below, to set anything past 2038 to the current time.

    update address_definitions set expiretime=(unix_timestamp()) where expiretime > 2177366400;

  5. Recycle the "NetQoS Reporter Manager Service" on the RA console and verify that the logs messages are now gone and the DNS name gets updated.


Component: NQRPTA