none
The given key was not present in the dictionary

    Question

  • I have about 100 people using SyncFX to sync their data.  Works flawlessly most of the time.  A few of the clients every once in a while are not able to sync one of their tables.  The log shows the following...

    INFO   , w3wp, 5, 01/08/2014 19:04:24:818,    ----- Deletes for Table "HoistConfig" -----
    ERROR  , w3wp, 5, 01/08/2014 19:04:24:820, Caught exception while applying changes: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
       at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
       at Microsoft.Synchronization.Data.SqlServer.SqlChangeHandler.ApplyBulkChanges(DataTable dataTable)
       at Microsoft.Synchronization.Data.RelationalSyncProvider.ApplyChangesInternal(DbSyncScopeMetadata scopeMetadata, IDbTransaction transaction, FailedDeleteDelegate_type failedDeleteDelegate, DataSet dataSet, ChangeApplicationType applyType)
       at Microsoft.Synchronization.Data.RelationalSyncProvider.ApplyChanges(DbSyncScopeMetadata scopeMetadata, IDbTransaction applyTransaction, DataSet dataSet, DbSyncSession DbSyncSession, Boolean commitTransaction, FailedDeleteDelegate_type failedDeleteDelegate, String batchFileName, ChangeApplicationAction& action)
    ERROR  , w3wp, 5, 01/08/2014 19:04:24:820, Rolling back application transaction.
    VERBOSE, w3wp, 5, 01/08/2014 19:04:24:820, Closing Connection

    My first assumption was that the tablet is trying to delete a HoistConfig but the record doesn't exist on the server.  So I checked for a HoistConfig_tracking record with a sync_row_is_tombstone of 0 and no corresponding record in the HoistConfig table.  No such record existed.

    I also enabled logging via the tracelog tool.  I was not able to find any relevant help regardless of the tracing parameters I used.  

    If anyone has any ideas on how I can fix this problem or at least get more info about the client is attempting to do, I would love to hear it.  

    Thanks in advance.


    Wednesday, January 08, 2014 8:32 PM