[
https://issues.apache.org/jira/browse/IGNITE-19888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17747412#comment-17747412
]
Pavel Tupitsyn commented on IGNITE-19888:
-----------------------------------------
This ticket is for Java client - renamed. Tickets for .NET and C++ clients
created: IGNITE-20056, IGNITE-20057
> 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
>
>
> *Motivation*
> The read timestamp for a RO transaction is supposed to be determined by a
> client timestamp to linearize transactions.
> *Implementation notes*
> * The response, which start RO transaction (IGNITE-19887) has to provide a
> timestamp.
> * Responses, 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)