[ 
https://issues.apache.org/jira/browse/IGNITE-19887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17745069#comment-17745069
 ] 

Vladislav Pyatkov commented on IGNITE-19887:
--------------------------------------------

LGTM
Merged 19cbcd669c6bc48654870eeddda73f1521cf27b2

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

Reply via email to