Thursday, February 18, 2016

Sitecore Failed to perform MaxMind lookup

On the Sitecore multi-server setup I was getting errors relating to GeoIP lookup in the CD server logs:
ManagedPoolThread #5 08:52:34 ERROR Failed to perform MaxMind lookup
ManagedPoolThread #5 08:52:34 ERROR Failed to perform GeoIp lookup for [GUID]
Exception: Sitecore.Analytics.Lookups.CannotParseResponseException
Message: Unexpected format. Cannot parse the MaxMind response for IP address: [IP]

Source: Sitecore.Analytics
   at Sitecore.Analytics.Lookups.MaxMindProvider.GetInformationByIp(String ip)
   at Sitecore.Analytics.Lookups.GeoIpManager.GetDataFromLookupProvider(GeoIpHandle geoIpHandle)
This is due to the Analytics.PerformLookup setting in the Sitecore.Analytics.config file. Only one server should be responsible for performing these lookups, so I disabled the lookup on CD servers using a patch file.
<configuration xmlns:patch="">
   <setting name="Analytics.PerformLookup">
     <patch:attribute name="value">false</patch:attribute>


  1. I just want to confirm should we disable on CD or Content Management server:
    If you separate content management from content delivery, to prevent capturing analytics data in the content management environment, in the content management environment, set the enableAnalytics attribute to false for all logical sites.

    1. You would do this on the CD server(s) as well as the CM.

  2. Yeah, it looks like the GeoIP is active by default. Of course in most dev environments and for all I know most production, folks won't have a subscription to the Geo lookup service. So annoying to get exceptions in the logging. I also disabled all the CES config files for better or worse.