locked
RecoverableErrorReportingContext.RecordConstraintError Exception: A constraint error cannot be reported on the same item as the incoming one because an item cannot be in conflict with itself. RRS feed

  • Question

  • When overriding the method UpdateItem(object itemData, IEnumerable<SyncId> changeUnitsToUpdate, ItemFieldDictionary keyAndExpectedVersion, RecoverableErrorReportingContext recoverableErrorReportingContext, out ItemFieldDictionary keyAndUpdatedVersion, out bool commitKnowledgeAfterThisItem) in SimpleSyncProvider I am getting the following exception calling Microsoft.Synchronization.SimpleProviders.RecoverableErrorReportingContext.RecordConstraintError(ItemFieldDictionary conflictingItemKey) inside UpdateItem:

    at Microsoft.Synchronization.SimpleProviders.RecoverableErrorReportingContext.RecordConstraintError(ItemFieldDictionary conflictingItemKey)
       at NPlay.Data.Importer.Providers.RepositorySynchProviderBase`1.UpdateItem(Object itemData, IEnumerable`1 changeUnitsToUpdate, ItemFieldDictionary keyAndExpectedVersion, RecoverableErrorReportingContext recoverableErrorReportingContext, ItemFieldDictionary& keyAndUpdatedVersion, Boolean& commitKnowledgeAfterThisItem) in C:\main\NPlay.MyHomeSearch.MLSImport\NPlay.MyHomeSearch.MLSImport.Data.Importer\Providers\RepositorySynchProviderBase.cs:line 265
       at Microsoft.Synchronization.SimpleProviders._SimpleSyncProviderProxy.UpdateItem(Object pItemData, IntPtr pChangeUnitsToUpdate, ITEM_FIELDS& pKeyAndExpectedVersionInfo, IRecoverableErrorCallback pCallback, IntPtr& ppUpdatedVersionInfo, Int32& pbCommitKnowledge)
       at Microsoft.Synchronization.CoreInterop.ISyncSession.Start(CONFLICT_RESOLUTION_POLICY resolutionPolicy, _SYNC_SESSION_STATISTICS& pSyncSessionStatistics)
       at Microsoft.Synchronization.KnowledgeSyncOrchestrator.DoOneWaySyncHelper(SyncIdFormatGroup sourceIdFormats, SyncIdFormatGroup destinationIdFormats, KnowledgeSyncProviderConfiguration destinationConfiguration, SyncCallbacks DestinationCallbacks, ISyncProvider sourceProxy, ISyncProvider destinationProxy, ChangeDataAdapter callbackChangeDataAdapter, SyncDataConverter conflictDataConverter, Int32& changesApplied, Int32& changesFailed)
       at Microsoft.Synchronization.KnowledgeSyncOrchestrator.DoOneWayKnowledgeSync(SyncDataConverter sourceConverter, SyncDataConverter destinationConverter, SyncProvider sourceProvider, SyncProvider destinationProvider, Int32& changesApplied, Int32& changesFailed)
       at Microsoft.Synchronization.KnowledgeSyncOrchestrator.Synchronize()
       at Microsoft.Synchronization.SyncOrchestrator.Synchronize()
       at NPlay.Worker.Commands.Sync.SyncRepositoriesCommand.Synchronize[T](RepositorySynchProviderBase`1 stagingProvider, RepositorySynchProviderBase`1 productionProvider) in C:\main\NPlay.MyHomeSearch.MLSImport\NPlay.MyHomeSearch.MLSImport.Worker\Commands\Sync\SyncRepositoriesCommand.cs:line 313; TraceSource 'WaWorkerHost.exe' event

    Does anyone have any ideas on how I may track down the cause of the exception?

    Thanks,

    N-Play.

       

    N-Play Team

    Tuesday, September 25, 2012 8:40 PM