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

Pavel Tupitsyn updated IGNITE-23193:
------------------------------------
    Description: 
Some current and future features require us to "hold" the Low Watermark (LWM). 
For example, while a read-only tx is active at a given timestamp, LWM can't be 
moved past that timestamp.

Currently, *TxManagerImpl* subscribes to *LOW_WATERMARK_BEFORE_CHANGE* and the 
event handler returns a future that waits for all relevent RO TXns to finish. 
This approach is not easy to understand and reuse.

A more clear and explicit approach is to introduce the following methods to 
*LowWatermark* interface:
- *void lock(lockerId, HybridTimestamp ts)*
- *void release(lockerId)*

LWM can't be adjusted past any currently locked timestamps.

> Introduce Low Watermark lock API
> --------------------------------
>
>                 Key: IGNITE-23193
>                 URL: https://issues.apache.org/jira/browse/IGNITE-23193
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Pavel Tupitsyn
>            Assignee: Pavel Tupitsyn
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.1
>
>
> Some current and future features require us to "hold" the Low Watermark 
> (LWM). For example, while a read-only tx is active at a given timestamp, LWM 
> can't be moved past that timestamp.
> Currently, *TxManagerImpl* subscribes to *LOW_WATERMARK_BEFORE_CHANGE* and 
> the event handler returns a future that waits for all relevent RO TXns to 
> finish. This approach is not easy to understand and reuse.
> A more clear and explicit approach is to introduce the following methods to 
> *LowWatermark* interface:
> - *void lock(lockerId, HybridTimestamp ts)*
> - *void release(lockerId)*
> LWM can't be adjusted past any currently locked timestamps.



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

Reply via email to