Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-23193

Introduce Low Watermark lock API

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • 3.1
    • None

    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 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.

      Attachments

        Activity

          People

            ptupitsyn Pavel Tupitsyn
            ptupitsyn Pavel Tupitsyn
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: