[ 
https://issues.apache.org/jira/browse/IGNITE-23806?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Evgeny Stanilovsky updated IGNITE-23806:
----------------------------------------
    Fix Version/s: 3.2
                       (was: 3.1)

> Investigate the possibility of generalising the logic for working with 
> maxObservableTimestamp
> ---------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-23806
>                 URL: https://issues.apache.org/jira/browse/IGNITE-23806
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Alexander Lapin
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.2
>
>
> h3. 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()
> h3. Definition of Done
>  * Define set of protocols that should adjust maxObservableTimestamp. 
>  ** Transactions.
>  ** DDL.
>  ** Compute
>  ** DataStreamer
>  ** ???
>  * Design generalised protocol in order to adjust maxObservalbeTimestamp on 
> both client and embedded node. Currently we have one only for transactions.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to