Timeout while Dequeue Batch RRS feed

  • Question

  • Hello,

            I am trying to syncronize the two databases using batching. But I am getting the Exception as : An unexpected exception occurred in a background thread that is enumerating changes. See the inner exception for more details.

    And here is the InnerException : Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.

    Stacktrace :

    at Microsoft.Synchronization.Data.DbSyncBatchProducer.DequeueBatch()
       at Microsoft.Synchronization.Data.RelationalSyncProvider.ConsumeBatchFromProducer(DbSyncScopeMetadata scopeMetadata)
       at Microsoft.Synchronization.Data.RelationalSyncProvider.GetChanges(DbSyncScopeMetadata scopeMetadata, DbSyncSession DbSyncSession, UInt32 memoryBatchSize)
       at Microsoft.Synchronization.Data.RelationalSyncProvider.GetChangeBatch(UInt32 batchSize, SyncKnowledge destinationKnowledge, Object& changeDataRetriever)
       at Microsoft.Synchronization.KnowledgeProviderProxy.GetChangeBatch(UInt32 dwBatchSize, ISyncKnowledge pSyncKnowledge, ISyncChangeBatch& ppChangeBatch, Object& ppUnkDataRetriever)
       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 FIG.FIGMD.Jobs.ScopeSyncronization.SynchronizationHelper.SynchronizeProviders(KnowledgeSyncProvider localProvider, KnowledgeSyncProvider remoteProvider) in C:\User Files\Ajinath\FIG\FIGMD\FIGMDTrunk\FIGMD - Copy\FIGMDServer\Jobs\ScopeSyncronization\SynchronizationHelper.cs:line 74
       at FIG.FIGMD.Jobs.ScopeSyncronization.SqlSyncronizer.StartJob(JobSchedule jobschedule, JobHistory jobhistory, DataBaseContext databaseContext) in C:\User Files\Ajinath\FIG\FIGMD\FIGMDTrunk\FIGMD - Copy\FIGMDServer\Jobs\ScopeSyncronization\SqlSyncronizer.cs:line 110

    The scope being syncronized contains the table that has the column with datatype image which stores the different files data like .dll, .exe, .gsm etc.

    Does anyone encountered same problem? Please help in finding out the cause of the error.



    Wednesday, November 10, 2010 8:15 AM

All replies

  • Have you tried setting SqlSyncProvider.CommandTimeout? This will change the SQLCommand timeout that is used when executing commands on the database.



    Thursday, November 11, 2010 1:13 AM
  • Hi Kyle,

                  Thanks for the reply. ApplyingChanges event is not being called, so I think the exception is being thrown while trying to convert the batches into the Dataset and not while executing commands on database.  Please let me know your thoughts.

    The CommandTimeout property is not available in 2.0. I think it is in 2.1, so I'll check with downloading 2.1.




    Thursday, November 11, 2010 7:24 AM
  • how big is your batch size?
    Thursday, November 11, 2010 10:46 AM
  • Thnaks JuneT for looking into this.

    I have set the srcprovider.MemoryDataCacheSize = 5000 (kb).




    Thursday, November 11, 2010 10:50 AM
  • I have te similar exception:

    Cannot enumerate changes at the RelationalSyncProvider for table 'RBOTRANSACTIONSALESTRANS'.  Check the inner exception for any store-specific errors. =====>    at Microsoft.Synchronization.Data.DbSyncBatchProducer.DequeueBatch()

    Did you solve the issue? And do you know when the method "DequeueBatch" called?


    Tuesday, April 10, 2012 1:39 AM
  • try enabling Sync Framework tracing in verbose mode so you can get more information on the error...
    Tuesday, April 10, 2012 1:51 AM