[
https://issues.apache.org/jira/browse/IGNITE-23193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17887310#comment-17887310
]
Pavel Tupitsyn commented on IGNITE-23193:
-----------------------------------------
Merged to main:
[33c16499ae657fff9ebf7d9cda2ba41b9653f1bf|https://github.com/apache/ignite-3/commit/33c16499ae657fff9ebf7d9cda2ba41b9653f1bf]
> 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 adjusted 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)