Replication Failed - Exception in log files "Value was either too large or too small for a UInt64"
Description
Replication status is FAILED in Monitoring page
In <StonevoiceAS>\Var\Log\Replication.Service\Replication.log
you can see this exception
518 11:24:57.323 ERROR {FaxDB} [TaskSynchronizer] Synchronization failed: {
Exception Type {Replication.Engine.Exceptions.DatabaseSynchronizationException}
Message {Error synchronizing task FaxDB}
StackTrace {
at Replication.Engine.Synchronization.TaskSynchronizer.RunDbSync(Node localNode, Node remoteNode, DatabaseReplicationTask task)
at Replication.Engine.Synchronization.TaskSynchronizer.<>c__DisplayClass18_0.<ExecuteSynchronization>b__0()
at Replication.Engine.Synchronization.TaskSynchronizer.WhileSendingKeepAliveAndUserNotifications(Node localNode, Node remoteNode, ReplicationTask task, Action action)
at Replication.Engine.Synchronization.TaskSynchronizer.ExecuteSynchronization(Node localNode, Node remoteNode, ReplicationTask task, Int32 fileSystemSyncPort, Boolean syncDatabase, Boolean reelaborateMetadata)
at Replication.Engine.Synchronization.TaskSynchronizer.<>c__DisplayClass10_0.<Sync>b__0(SyncAuthorization syncAuthorization, Boolean reelaborateMetadata)
at Replication.Engine.Synchronization.TaskSynchronizer.SynchronizeTask(Node localNode, Node remoteNode, ReplicationTask task, Action`2 synchronizationAction)}
InnerException {
Exception Type {Microsoft.Synchronization.Data.DbSyncException}
Message {An unexpected error occurred when applying batch file . See the inner exception for more details.}
StackTrace {
at Microsoft.Synchronization.Data.DbSyncBatchConsumer.ApplyBatches(DbSyncScopeMetadata scopeMetadata, DbSyncSession syncSession, SyncSessionStatistics sessionStatistics)
at Microsoft.Synchronization.Data.RelationalSyncProvider.ProcessChangeBatch(ConflictResolutionPolicy resolutionPolicy, ChangeBatch sourceChanges, Object changeDataRetriever, SyncCallbacks syncCallbacks, SyncSessionStatistics sessionStatistics)
at Microsoft.Synchronization.KnowledgeProviderProxy.ProcessChangeBatch(CONFLICT_RESOLUTION_POLICY resolutionPolicy, ISyncChangeBatch pSourceChangeManager, Object pUnkDataRetriever, ISyncCallback pCallback, _SYNC_SESSION_STATISTICS& pSyncSessionStatistics)
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 Replication.Engine.Synchronization.DatabaseSynchronizer.Sync(Node localNode, Node remoteNode, DatabaseReplicationTask task)
at Replication.Engine.Synchronization.TaskSynchronizer.RunDbSync(Node localNode, Node remoteNode, DatabaseReplicationTask task)}
InnerException {
Exception Type {System.OverflowException}
Message {Value was either too large or too small for a UInt64.}
StackTrace {
at System.Convert.ToUInt64(Int64 value)
at System.Int64.System.IConvertible.ToUInt64(IFormatProvider provider)
at System.Convert.ToUInt64(Object value, IFormatProvider provider)
at Microsoft.Synchronization.Data.SyncUtil.ParseTimestamp(Object obj, UInt64& timestamp)
at Microsoft.Synchronization.Data.SqlServer.SqlSyncScopeHandler.GetLocalTimestamp(IDbConnection connection, IDbTransaction transaction)
at Microsoft.Synchronization.Data.SqlServer.SqlSyncScopeHandler.ReadScope(IDbConnection connection, IDbTransaction transaction, ReadKnowledgeType readType, ReadForgottenKnowledgeType readFKtype)
at Microsoft.Synchronization.Data.SyncScopeHandlerBase.ReadScope(IDbConnection connection, ReadKnowledgeType readType)
at Microsoft.Synchronization.Data.RelationalSyncProvider.InitializeChangeApplicationTransaction()
at Microsoft.Synchronization.Data.RelationalSyncProvider.SingleTransactionApplyChangesAdapter.PrepareForApplyOrRetry(DataSet ds)
at Microsoft.Synchronization.Data.DbSyncBatchConsumer.ApplyBatches(DbSyncScopeMetadata scopeMetadata, DbSyncSession syncSession, SyncSessionStatistics sessionStatistics)}
Cause
Microsoft Bug - Microsoft Sync Framework 2.1
Solution
Install KB2703853.zip with file execution in this order:
Synchronization-KB2703853-v2.1-x86-ENU.msi
ProviderServices-KB2703853-v2.1-x86-ENU.msi
DatabaseProviders-KB2703853-v3.1-x86-ENU.msi
Reboot is not needed