Pavel Pereslegin created IGNITE-24275:
-----------------------------------------

             Summary: Sql. Rework or replace 
HybridTimestampTracker.clientTracker
                 Key: IGNITE-24275
                 URL: https://issues.apache.org/jira/browse/IGNITE-24275
             Project: Ignite
          Issue Type: Improvement
          Components: sql
            Reporter: Pavel Pereslegin


In summary, the requirements for a {{HybridTimestampTracker}} (*observable time 
tracker*) are as follows:

* Observed time can be updated multiple times
* Observed time can be updated from different threads
* The updated value should be visible from different threads
* When updating the time, the tracker must provide a guarantee that the updated 
value is monotonically increasing

>From that perspective current implementation of 
>{{HybridTimestampTracker.clientTracker}} is broken.

* The method {{get()}} returns only initial value
* Consumer usually stores value to non-volatile field
* There is no check that the new value is greater than the previous one

We need to rework {{clientTracker}} to meet requirement or replace it where 
with {{atomicTracker}}.

p.s. check TODO in codebase



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

Reply via email to