I am seeing the following error in the logs for the CM I am setting up for one of our clients, in preparation for launch of their Sitecore 8.1u2 site:
Logged Error:
4972 16:30:56 ERROR Sitecore.Analytics.Tracker Cannot start analytics Tracker
Stack trace:
Exception: System.Web.HttpException
Message: The session ID is longer than the maximum limit of 80 characters. Session ID=DictionaryDataReferringSiteDatacm.myclientsname.clientabbrev-prd-cm1.mydelphic.com
Source: System.Web
at System.Web.SessionState.SessionIDManager.CheckIdLength(String id, Boolean throwOnFail)
at System.Web.SessionState.InProcSessionStateStore.DoGet(HttpContext context, String id, Boolean exclusive, Boolean& locked, TimeSpan& lockAge, Object& lockId, SessionStateActions& actionFlags)
at System.Web.SessionState.InProcSessionStateStore.GetItem(HttpContext context, String id, Boolean& locked, TimeSpan& lockAge, Object& lockId, SessionStateActions& actionFlags)
at Sitecore.Analytics.Data.Dictionaries.DictionaryData.Session.SessionDictionaryData.LoadAs[T](Object key)
at Sitecore.Analytics.Data.Dictionaries.TrackingDictionary`2.Get(TKey key, LookupStrategy strategy)
at Sitecore.Analytics.Pipelines.TrafficTypes.ReferringSite.Process(TrafficTypeArgs args)
at (Object , Object[] )
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Analytics.Pipelines.TrafficTypes.TrafficTypePipeline.Run(TrafficTypeArgs args)
at Sitecore.Analytics.Pipelines.CreateVisits.SetTrafficType.Process(CreateVisitArgs args)
at (Object , Object[] )
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Analytics.Pipelines.CreateVisits.CreateVisitPipeline.Run(CreateVisitArgs args)
at Sitecore.Analytics.Tracking.StandardSession.CreateInteraction(HttpContextBase httpContext)
at Sitecore.Analytics.Pipelines.InitializeTracker.CreateVisit.Process(InitializeTrackerArgs args)
at (Object , Object[] )
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Analytics.Pipelines.InitializeTracker.InitializeTrackerPipeline.Run(InitializeTrackerArgs args)
at (Object , Object[] )
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Analytics.Pipelines.StartTracking.StartTrackingPipeline.Run(StartTrackingArgs args)
at Sitecore.Analytics.DefaultTracker.StartTracking()
The error is basically telling me that the Session ID
that was supplied, DictionaryDataReferringSiteDatacm.myclientsname.clientabbrev-prd-cm1.mydelphic.com
(note that while the Session ID I am showing you is not the real one, I did make sure that it is the same length and structure as the real one), is longer than the 80-character maximum.
Observations:
I can see that the length of the Session ID is, in fact, longer than 80 characters. I did a little digging and found the Sitecore.FXM.Pipelines.ChooseSessionIdManager.FXMSessionIdManagerProcessor
processor of the <getSessionIdManager>
pipeline, but I'm not using FXM, so I want to use the default SessionIDManager
. Aside from adding my own processor to this pipeline, I don't see any way to control the Session ID value, beyond changing the host name of the site, since the host name is being included in the URL.
Questions:
Is anyone else familiar with this error and how to fix it? Is there another way, beyond changing the host name of the site? Should this issue even be relevant for a CM instance?