Overview
Consider the following symptoms:
- The amount of "indexed items" is lower than the amount of "total items" when looking at the summary of an archive store.
- When analyzing failedMessages.xml (located in the index folder of an archive store) it contains many IDs of items which contain ical attachments (for example meeting requests).
Debug logging shows many lines like:
..\store\debuglogs\calendarretrieval.log 2015-05-13,11:14:56,981,1,"#000052B0","#00000010","info ","CalendarRetrieval",">>GetEventDetails db: 8e411926-f69c-4b69-949a-2897fa807eea;msgId: -2147456793;eventId: 0;" 2015-05-13,11:14:56,997,1,"#000052B0","#00000010","error ","CalendarRetrieval","Error: GetEventDetails. GFI.Common.Calendar.CalendarException: ParseFailed ---> System.Exception: Invalid timezone information in event with UID: 3D3CE842-0C3B-4F95-A77E-53C21D6963E8.
The relevant data from the line above is:
- The DB GUID: 8e411926-f69c-4b69-949a-2897fa807eea
- The msgId: -2147456793
- The error: "Invalid timezone information in event with UID: 3D3CE842-0C3B-4F95-A77E-53C21D6963E8."
And at the very same time, the very same item (correlate time, GUID and item ID!) fails in:
..\search\debuglogs\failedmessages.log 2015-05-13,11:14:57,449,1,"#000009B8","#0000000A","error ","FailedMessages","error: Failed to Index Message id: -2147456793, DB: 8e411926-f69c-4b69-949a-2897fa807eea, Error: System.ServiceModel.FaultException: The server was unable to process the request due to an internal error.
For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the configuration behavior) on the server in order to send the exception information back to the client or turn on tracing as per the Microsoft .NET Framework SDK documentation and inspect the server trace logs.
Environment
20150218
TT/JIRA ID
2987
Resolution
Download and apply the patch from the link below. After the Search service starts it will automatically try to index items which failed beforehand, so rebuilding an index is not needed. The index can still be rebuilt in case the numbers are not matching.
Priyanka Bhotika
Comments