You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Tupitsyn (Jira)" <ji...@apache.org> on 2025/02/27 12:36:00 UTC

[jira] [Updated] (IGNITE-23806) Investigate the possibility of generalising the logic for working with maxObservableTimestamp

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

Pavel Tupitsyn updated IGNITE-23806:
------------------------------------
    Summary: Investigate the possibility of generalising the logic for working with maxObservableTimestamp  (was: Investigate the possibility of generalising the logic for working with maxObservableTimestamp.)

> 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.1
>
>
> 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)