[
https://issues.apache.org/jira/browse/IGNITE-19887?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Denis Chudov updated IGNITE-19887:
----------------------------------
Fix Version/s: 3.0.0-beta2
> Transfer observable timestamp to read-only transaction
> ------------------------------------------------------
>
> Key: IGNITE-19887
> URL: https://issues.apache.org/jira/browse/IGNITE-19887
> Project: Ignite
> Issue Type: Improvement
> Reporter: Vladislav Pyatkov
> Assignee: Denis Chudov
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0.0-beta2
>
> Time Spent: 0.5h
> Remaining Estimate: 0h
>
> *Motivation*
> RO transaction has timestamp which determine a moment when data will be read.
> To avoid waiting, safe time is supposed to provide the timestamp in the past.
> The timestamp is determined by the observable timestamp and current time in
> order to be available to retrieve all data which is locally viewed.
> *Implementation notes*
> * The observable timestamp would be provided externally.
> * Read timestamp is determined as {{{}max(observableTs, now() -
> safeTimePropagationFrequency - maxClockSkew){}}}.
> * Add a new method to start read only transaction with specific observable
> timestamp:
> {code:java}
> /**
> * Starts a readonly transaction with an observable timestamp.
> *
> * @param observableTs Observable timestamp.
> * @return Reade only transaction.
> */
> public ReadOnlyTransactionImpl begin(HybridTimestamp observableTs)
> {code}
> *Definition of done*
> Internal API for RO transaction in past is implemented. The read transaction
> timestamp should evaluate by formula: {{max(observableTs, now() -
> safeTimePropagationFrequency)}} and available through
> {{ReadOnlyTransactionImpl .readTimestamp()}}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)