[ https://issues.apache.org/jira/browse/IGNITE-19888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17749051#comment-17749051 ]
Igor Sapego commented on IGNITE-19888: -------------------------------------- Looks good to me. > 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: 10m > 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)