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