Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-23806

Investigate the possibility of generalizing the logic for working with maxObservableTimestamp.

    XMLWordPrintableJSON

Details

    • Task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • Docs Required, Release Notes Required

    Description

      Motivation

      An RO transaction at the start is associated with a certain readTimestamp. As part of processing the RO request on the replica side, we wait for safeTime to become greater than or equal to readTimestamp. SafeTime on the replica is updated by the user load, and in case of its absence, by a special mechanism - idle SafeTime propagaion. All this leads to the fact that RO, whose readTimestamp is calculated as now(), will almost always wait for the safeTime to be increased on the replica, if there is no user load, up to a second. In order to eliminate this wait when calculating readTimestamp, we omit idleSafeTimeSyncInterval, or, to be precise, clock.now - IDLE_SAFE_TIME_INTERVAL - maxClockSkew()

      Definition of Done

      • Define set of protocols that should adjust maxObservableTimestamp. 
        • Transactions.
        • DDL.
        • Compute
        • ???
      • Design generalised protocol in order to adjust maxObservalbeTimestamp on both client and embedded node. Currently we have one only for transactions.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              alapin Alexander Lapin
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: