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
- blocks
-
IGNITE-20378 Both clients and embedded nodes should have an ability to see same-actor schema adjustments though RO requests
- Open