none
Upload sync not updating scope_info table at client side.

    Question

  • Initially we have set up a bi-directional sync between our client (sql 2005) and server (sql 2008) . In real time, server(sql 2008) is less updated by our end users. So to improve the performance we implemented a mechanism outside the sync to find out any change happened on the Server (sql 2008) . If no change found on server(sql 2008), we started doing only upload sync. If change is found, we are doing bi-directional sync.

    In upload sync scenario, the framework is not updating the scope_info table on client side with latest knowledge. It is only updating the knowledge on the server (sql 2008). 

    In every upload sync it using the same @sync_min_timestamp value and performing the sync . I believe it should update the scope_sync_knwoledge in scope_info on client (sql 2005) so next sync will start only selecting incremental changes. 

    Please advice.

    Thanks,

    sai

    Friday, January 10, 2014 2:50 PM

All replies

  • It should not. Your client sync knowledge has not changed when you do an upload only sync. Its the destination that has changed. The sync knowledge stores what was last sync from other replicas, not what it has sent. Likewise, the @sync_min_timestamp is from the destination sync knowledge, not from the source
    Sunday, January 12, 2014 1:08 AM
  • Thanks JuneT for your time.

    I understood your point, but every time sync FX is using same @sync_min_timestamp value from scope_info in all upload syncs. 

    When upload sync is completed, at least we have to update the knowledge about the last sucessfull timestamp to the server we are syncing at client side. so that in next cycle it starts with a new @sync_min_timestamp value or else it's again selecting already synced rows and comparing them with destination.

    Its causing huge performance impact on the server.

    Monday, January 13, 2014 1:37 PM
  • Are you handling errors or conflicts?
    Monday, January 13, 2014 1:59 PM
  • no, I am not handling any conflicts. My sync topology has just one client and one server.
    Monday, January 13, 2014 2:57 PM
  • "The sync knowledge stores what was last sync from other replicas, not what it has sent"

    I agree on above line. But it cant use same @sync_min_timestamp value for all the upload syncs.

    @sync_min_timestamp should change for each sync cycle. If we are not updating client on upload sync. We should update it on server side so that when we perform "getknowledge" after "beginseession" step, framework might get the new timestamp value for @sync_min_timestamp from server side knowledge to perform the next upload sync.

    please share you thoughts?

    Thanks,

    Sai



    Monday, January 13, 2014 5:14 PM
  • Can you enable the sync fx tracing in verbose mode and post the trace here...
    Tuesday, January 14, 2014 2:26 AM
  • Trace is too big to post here so sharing the link.let me know if you find any issues downloading the trace from below link.

    https://www.dropbox.com/s/ysoqkyrsx9xh03n/TraceSample.log

    Again, Thanks JuneT for your time on this issue.

    Thanks,

    Sai

    Tuesday, January 14, 2014 2:02 PM