Background: I manage an Exchange 2010 organization consisting of two sites each having 2 CAS servers (with Hub Transport roll) and 2 mailbox servers. We have 8 databases set up in a DAG with half activated on each of the 2 mailbox servers in the primary site (the secondary site is mainly for when the primary site is down).
On Friday the 22nd I upgraded all servers with SP3 where previously all servers were running SP2 with RU2. All upgrades went well, however a few hours after the upgrade my monitoring software started alerting me that the databases in the secondary site were having indexing issues. The following warnings are posted in the event log on both secondary site DAG members every 30 minutes to 1 hour:
Log Name: Application
Source: MSExchange Search Indexer
Event ID: 107
Task Category: General
Level: Warning
Keywords: Classic
Description:
Exchange Search Indexer has temporarily disabled indexing of the Mailbox Database DB6 (GUID = 6f85901f-e042-4bf0-a3c0-0028990955ef) due to an error (Microsoft.Mapi.MapiExceptionJetErrorNoCurrentRecord: MapiExceptionJetErrorNoCurrentRecord: Unable to update
CI Retry table (hr=0x80004005, ec=-1603)
Diagnostic context:
Lid: 1494 ---- Remote Context Beg ----
Lid: 46077 dwParam: 0xCC2B34
Lid: 46121 StoreEc: 0x8004010F
Lid: 55351 StoreEc: 0x8004010F
Lid: 53889 StoreEc: 0x8004010F
Lid: 59447 StoreEc: 0x8004010F
Lid: 43923 dwParam: 0xCC2B34
Lid: 10164 StoreEc: 0xFFFFF9BD
Lid: 34871 StoreEc: 0xFFFFF9BD
Lid: 46463 dwParam: 0xCC2B34
Lid: 4000 StoreEc: 0xFFFFF9BD
Lid: 16793 StoreEc: 0xFFFFF9BD
Lid: 14126 StoreEc: 0xFFFFF9BD
Lid: 1750 ---- Remote Context End ----
Lid: 10098 StoreEc: 0xFFFFF9BD
Lid: 20226
Lid: 15346 StoreEc: 0xFFFFF9BD
at Microsoft.Mapi.MapiExceptionHelper.ThrowIfError(String message, Int32 hresult, SafeExInterfaceHandle iUnknown, Exception innerException)
at Microsoft.Mapi.ExRpcAdmin.CiUpdateRetryTable(Guid mdbGuid, Guid instanceGuid, UInt32[] documentIds, Guid[] mailboxGuids, Int32[] hresults, Int16[] initialStates)
at Microsoft.Exchange.Search.PropertyStore.UpdateRetryTable(PropertyStore ps, UInt32[] docIds, Guid[] mailboxGuids, Int32[] hresults, Int16[] initialStates, Object& unusedOut1, Object& unusedOut2)
at Microsoft.Exchange.Search.PropertyStore.DoRetriableOperation[InParameter1Type,InParameter2Type,InParameter3Type,InParameter4Type,OutParameter1Type,OutParameter2Type,ReturnType](Guid mdbGuid, InParameter1Type inParameter1, InParameter2Type inParameter2,
InParameter3Type inParameter3, InParameter4Type inParameter4, OutParameter1Type& outParameter1, OutParameter2Type& outParameter2, OperationDelegate`7 operationDelegate)
at Microsoft.Exchange.Search.PropertyStore.UpdateDocumentStatesOnBatchCompletion(BatchInformation batchInformation)
at Microsoft.Exchange.Search.NotificationQueue.BatchCompleteCallback(BatchInformation batchInformation, UInt32 batchId)
at Microsoft.Exchange.Msfte.CSrchProject.CallBackWorker()).
On one of the DAG members in the secondary site I stopped the search indexer process, then renamed all of the index folders for each database, then started the indexer process. This caused a full crawl to take place which took over 6 hours. After the crawl was complete the errors persisted.
The warning message is followed about 10 seconds later by an information message that indexing has been re-enabled for the database. Usually only one database at a time exhibits the warning, however infrequently there are 2 that might trigger at the same time.
Note that the errors also happen on the database servers in the primary site, however they don't happen hourly. On one primary server it went over 24 hours with only 1 error, on the other it had no errors in the past 24 hours but many prior to that.
Do I need to re-generate the index on all servers to resolve this? Why wouldn't re-generating it on the secondary server resolve it on that server?
Thanks for any help.