[ 
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)

Reply via email to