[
https://issues.apache.org/jira/browse/IGNITE-27594?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Tupitsyn updated IGNITE-27594:
------------------------------------
Description:
Currently, every compute job carries an observable timestamp from the initiator
client, thin or embedded (implemented in IGNITE-25718).
However, server-side logic is suboptimal: in
*ComputeComponentImpl#executeLocally* we update the global
*observableTimestampTracker* for the current node, which affects operations
from other clients which may have older *observableTimestamp*.
h2. Example
Two clients send requests to one node
* *client1.obsTs* = *200*. Sends compute job and bumps *server.obsTs* to *200*.
* *client2.obsTs* = *100*. Sends an SQL request which executes with *obsTs* =
*200*, even though it could use *100* and avoid some waiting.
> Optimize observable timestamp handling in compute jobs
> ------------------------------------------------------
>
> Key: IGNITE-27594
> URL: https://issues.apache.org/jira/browse/IGNITE-27594
> Project: Ignite
> Issue Type: Improvement
> Components: compute ai3
> Reporter: Pavel Tupitsyn
> Priority: Major
> Fix For: 3.2
>
>
> Currently, every compute job carries an observable timestamp from the
> initiator client, thin or embedded (implemented in IGNITE-25718).
> However, server-side logic is suboptimal: in
> *ComputeComponentImpl#executeLocally* we update the global
> *observableTimestampTracker* for the current node, which affects operations
> from other clients which may have older *observableTimestamp*.
> h2. Example
> Two clients send requests to one node
> * *client1.obsTs* = *200*. Sends compute job and bumps *server.obsTs* to
> *200*.
> * *client2.obsTs* = *100*. Sends an SQL request which executes with *obsTs* =
> *200*, even though it could use *100* and avoid some waiting.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)