[ https://issues.apache.org/jira/browse/IGNITE-24659?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17950877#comment-17950877 ]
Pavel Tupitsyn commented on IGNITE-24659: ----------------------------------------- Discussed with [~ascherbakov] and [~sanpwc]: * First step - propagate *clock.current* from job/receiver back to client * Second step - optimize. *clock.current* is too pessimistic, ideally we should find *commitTs* for every tx within the job/receiver and return the max of those. TBD - create a ticket and mention in code where applicable. > Client does not observe table changes from compute jobs and streamer receiver > ----------------------------------------------------------------------------- > > Key: IGNITE-24659 > URL: https://issues.apache.org/jira/browse/IGNITE-24659 > Project: Ignite > Issue Type: Bug > Components: compute > Affects Versions: 3.0 > Reporter: Pavel Tupitsyn > Assignee: Pavel Tupitsyn > Priority: Blocker > Labels: ignite-3 > Fix For: 3.1 > > Attachments: datastreamerexample.java > > > See attached example. When we perform a table update in a compute job or in a > streamer receiver, and the job gets executed on another node (client -> > node1[handle request] -> node2[execute job]), we don't send correct > observableTimestamp back to the client. As a result, the client does not > observe the changes in the table immediately. If you uncomment Thread.sleep > in the example, the code works as expected. > This bug might be fixed by IGNITE-23806. If we don't find a good solution or > don't have enough time, the fix is to always return > *clockService.currentLong()* (important: use *current()* instead of *now()*) > from the node that executes the job/receiver. -- This message was sent by Atlassian Jira (v8.20.10#820010)