You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Tupitsyn (Jira)" <ji...@apache.org> on 2023/07/25 15:25:00 UTC
[jira] [Assigned] (IGNITE-19888) Track observable timestamp on client
[ https://issues.apache.org/jira/browse/IGNITE-19888?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pavel Tupitsyn reassigned IGNITE-19888:
---------------------------------------
Assignee: Pavel Tupitsyn
> Track observable timestamp on client
> ------------------------------------
>
> Key: IGNITE-19888
> URL: https://issues.apache.org/jira/browse/IGNITE-19888
> Project: Ignite
> Issue Type: Improvement
> Components: platforms
> Reporter: Vladislav Pyatkov
> Assignee: Pavel Tupitsyn
> Priority: Major
> Labels: ignite-3
>
> *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)