locked
Server & Client Time Variations RRS feed

  • Question

  • Changed records are determined by comparing the record’s timestamp to the anchor values.  The anchor is issued by the server.  What happens if the client’s clock is 15 minutes slow?  Will we have stranded updates? 

    • Moved by Max Wang_1983 Friday, April 22, 2011 10:53 PM forum consolidation (From:SyncFx - Microsoft Sync Framework Database Providers [ReadOnly])
    Friday, May 11, 2007 1:56 PM

Answers

  • 1- No. The client tracking in SQLCE is not based on datetime.  

    2- No. The server sends rows without any tracking info (no per-row tracking metadata). That said, the anchor the server send to client is not used by the client at all

    3- No. The server and client clocks does not need to be in sync. However, if you decided to use datetime as your anchor on the server, it is maybe a good idea for user experience (not for sync logic) to keep clocks in sync so that a row does not show as created\updated in the future for example.

     

    Thanks 

    Friday, May 11, 2007 4:18 PM

All replies

  • Marc,
     
    The client clock does not affect the anchor value at all. The server gives the client an anchor to store and use for the next sync around. To the client, the anchor is an opaque object that it does not understand or know what it means. It merely stores it and sends it back to the server the next time around. This frees the server from housekeeing for each client and helps it to scale better.
     
    Thanks
    Friday, May 11, 2007 3:35 PM
  • The client clock determines the date time value stored in the client database for each row’s create, update, and delete.  The records in the client database are selected based on the difference between the last anchor and the current anchor which came from the server.  So don’t the server and client’s clocks need to be in sync?

    Friday, May 11, 2007 3:48 PM
  • 1- No. The client tracking in SQLCE is not based on datetime.  

    2- No. The server sends rows without any tracking info (no per-row tracking metadata). That said, the anchor the server send to client is not used by the client at all

    3- No. The server and client clocks does not need to be in sync. However, if you decided to use datetime as your anchor on the server, it is maybe a good idea for user experience (not for sync logic) to keep clocks in sync so that a row does not show as created\updated in the future for example.

     

    Thanks 

    Friday, May 11, 2007 4:18 PM
  • Hi Rafik,

     

    Just curious, what is the client tracking based on?  How is it implemented in SQLCE? 

    Saturday, May 12, 2007 2:13 PM
  • Hi,

     

    It is based on a monotonically increasing number scheme to track changes. Same concept as timestamp with few differences.

     

    Thanks

    Wednesday, May 16, 2007 4:54 PM