[
https://issues.apache.org/jira/browse/IGNITE-19888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17749629#comment-17749629
]
Pavel Tupitsyn commented on IGNITE-19888:
-----------------------------------------
Merged to main: 37fe3e86f176e3ca43b605d42362dfd9acee1583
> Java client: Track observable timestamp
> ---------------------------------------
>
> Key: IGNITE-19888
> URL: https://issues.apache.org/jira/browse/IGNITE-19888
> Project: Ignite
> Issue Type: Improvement
> Components: platforms, thin client
> Affects Versions: 3.0.0-beta1
> Reporter: Vladislav Pyatkov
> Assignee: Pavel Tupitsyn
> Priority: Major
> Labels: ignite-3
> Fix For: 3.0.0-beta2
>
> Time Spent: 1h
> Remaining Estimate: 0h
>
> *Motivation*
> The read timestamp for a RO transaction is supposed to be determined by a
> client timestamp to linearize transactions.
> *Implementation notes*
> * The request which starts RO transaction (IGNITE-19887) has to provide a
> timestamp.
> * Requests which start SQL, also provide a specific timestamp (if they start
> RO internally) (IGNITE-19898 here the concrete method to retrieve timestamp
> will be implemented).
> * The current server timestamp ({{clock.now()}}) should be added to (except
> in the cases above) the transaction response.
> * If a server response does not have the timestamp or timestamp is less than
> the client already has, do nothing.
> * If the time is grater than the client has, the client timestamp should be
> updated.
> * The timestamp is used to start RO transaction (IGNITE-19887)
> *Definition of done*
> The timestamp is passed from the server-side to a client. The client just
> save the timestamp and send it in each request to server-side.
> All client-side created RO transactions should execute in past with timestamp
> has been determining by client timestamp.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)