[ https://issues.apache.org/jira/browse/IGNITE-24659?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pavel Tupitsyn updated IGNITE-24659: ------------------------------------ Description: 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. was: 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()* from the node that executes the job/receiver. > 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)