Interesting behavior here with Sitecore XP 9.3, any ideas are very welcomed.
What happens
Only for specific contacts, anything related to Tracker reading (Eg: IdentifyAs, LoadContact, etc) is dying with a timeout, but only on CDs, while it normally works on the CM (We use SQL shared sessions on the CDs)
Eg:
Tracker.Current.Session.IdentifyAs(source, value.ToString());
Error: xDB unavailable - StackTrace: at Sitecore.Analytics.XConnect.DataAccess.XConnectDataAdapterProvider.ExecuteWithExceptionHandling[T](Func2 func) at Sitecore.Analytics.XConnect.DataAccess.XConnectDataAdapterProvider.<>c__DisplayClass17_0.b__0() at Sitecore.Analytics.XConnect.Diagnostics.PerformanceCounters.OperationPerformanceMonitorExtensions.Monitor[T](OperationPerformanceMonitorBase monitor, Func1 operation) at Sitecore.Analytics.Data.ContactRepository.LoadContact(String source, String identifier) at Sitecore.Analytics.Tracking.ContactManager.LoadContact(String source, String identifier) at Sitecore.Analytics.Tracking.StandardSession.GetContactByIdentifier(String source, String identifier, ContactManager contactManager, Action`1 validateIdentifier) at Sitecore.Analytics.Tracking.StandardSession.GetContactByIdentifier(String source, String identifier, ContactManager contactManager) at Sitecore.Analytics.Tracking.StandardSession.IdentifyAs(String source, String knownIdentifier) at ASP.contactidentifyas_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer)
Error: Operation was cancelled by timeout
Now comes the interesting part:
- if I increase the Tracker Timeout to a high number (say 2 minutes), and run the same IdentifyAs code, instead of timeout, the identification will occur normally
- After that, even if I decrease the timeout back to 5 seconds, this contact will not give a timeout again! And the IdentifyAs method runs pretty fast, by the way.
Looks like something large was stuck for this contact, and the IdentifyAs method when successfully completed is cleaning the contact.
Please let me know your ideas on how to attack this problem.