[ 
https://issues.apache.org/jira/browse/IGNITE-27594?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel Tupitsyn updated IGNITE-27594:
------------------------------------
    Labels: ignite-3  (was: )

> 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
>              Labels: ignite-3
>             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.
> h2. Proposed Fix
> Use a separate "contextual" *observableTimestampTracker* for every compute 
> job, so one job does not affect other operations on the node.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to