none
Negative timestamp value in a database which is provisioned for Sync RRS feed

  • Question

  • Hi

    I am reposting this problem again with an expectation of getting a workaround for this.

    We have successfully implemented  data base sync in one of our project and most of the clients are happy with what we have done and they all have a 64 bit machine. Howecver we have a client who is using 64 bit windows 7 machine and during the incremental sync process we are getting the following error

    Error in GetChanges()Value was either too large or too small for a UInt64

    I am using "RelationalSyncProvider" and Sync Framework version 2.1

    Here is the stack trace

    System.OverflowException: Value was either too large or too small for a UInt64.     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(IDbTransaction transaction, ReadKnowledgeType readType, ReadForgottenKnowledgeType readFKtype)     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 Continuum.Local.Server.SyncWebService.GetChanges(UInt32 batchSize, SyncKnowledge destinationKnowledge

    On further investigation I found that all tracking tables for a aprticular database say “XYZ” (Which is not syncing because of the above mentioned error) have a – ve “local_create_peer_timestamp” value (-1614977268,-1614977268). I think that since the sync framework’s “GetChangeBatch” method expects a parameter of type UInt64 and the "XYZ" database tracking tables have a –ve value which is outside the allowed lowerlimit of UInt the framework is throwing up the “overflow exception”. 


    When I execute


    @@DBTS+1 returns a -ve integer value whereas for other databases this returs a +ve value.

    Any thougts on this?


     


    gladson


    Friday, September 16, 2011 8:46 AM

Answers

  • Hi,

    As JuneT stated, this is a known issue in the db sync provider. we will address this in the future releases for the providers.

    Sorry for the inconvenience due to the this bug. please use the way JuneT mentioned as a "workaround" ( I agree this is an expensive one ). please also contact MS CSS should you need a Hotfix for this scenario.

    thanks

    Yunwen


    This posting is provided "AS IS" with no warranties, and confers no rights.
    Monday, January 30, 2012 7:14 AM
    Moderator

All replies

  • Hi Gladson,
    I also have the same problem but can not find any solution.
    Were you able to fix the problem?

    Regards

    Marco

    Sunday, January 22, 2012 12:16 PM
  • i think this is a known bug.

    try creating a new database and importing the data of your existing problem database, then doing a sync on the new database instead.

    Monday, January 23, 2012 1:02 AM
    Moderator
  • a known bug but no solution?
    I have tried to create a new db but I had to redefine the plan of sync ...

    you know other solutions?
    Tuesday, January 24, 2012 8:41 PM
  • it's still a bug, so there is no fix available yet.

    what do you mean by "redefine the plan of sync"?

    you just have to create a new database, import the data to it, provision and sync.

    Wednesday, January 25, 2012 2:21 AM
    Moderator
  • Hi Marco,

     

    I haven't find any solution yet, As its a known bug we are waiting for the new release from microsoft.


    gladson
    Wednesday, January 25, 2012 6:08 AM
  • Hi,

    As JuneT stated, this is a known issue in the db sync provider. we will address this in the future releases for the providers.

    Sorry for the inconvenience due to the this bug. please use the way JuneT mentioned as a "workaround" ( I agree this is an expensive one ). please also contact MS CSS should you need a Hotfix for this scenario.

    thanks

    Yunwen


    This posting is provided "AS IS" with no warranties, and confers no rights.
    Monday, January 30, 2012 7:14 AM
    Moderator
  • Update. The issue has been raised with Microsoft Support team. They've confirmed this to be a bug in Sync Framework 2.1, but no patch/hotfix is available at the moment. Suggested using a workaround (another SQL instance, bcp, database copy etc. ) while the new version of Sync Framework is being released. No time frames given. 

     

     


    Mixer
    Monday, February 6, 2012 8:43 PM
  • Hi,

    This issue has been resolved. Please check out the following link for hotfix download:

    http://support.microsoft.com/kb/2703853

    Thanks,

    Cathy

    Friday, June 15, 2012 11:17 PM
  • Is there anywhere else to get access to the hotfix download?  We are currently having this issue and unable to find the hotfix or get help.

    Jeff Taynton

    Sunday, December 23, 2018 10:48 PM