Uploaded image for project: 'Phoenix Tephra'
  1. Phoenix Tephra
  2. TEPHRA-167

Visibility Fence should wait only on required in-progress transactions

    XMLWordPrintableJSON

Details

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

    Description

      Visibility Fence is used to make sure a commit is visible to all in-progress readers. After a write is committed, a writer will wait on a Visibility Fence for all in-progress transactions that have not seen the change to see the change.

      To optimize the wait, the in-progress transaction list needs to contain only those transactions that were in-progress when the write got committed. However, today the commit time of a transaction is not exposed. Hence, we start a transaction for fence after the write got committed. We use this transaction to get the in-progress list. This list may have transactions that have started between the time write got committed and the fence transaction got started. This leads to waiting, and potentially conflicting with transactions that have already seen the change.

      Attachments

        Issue Links

          Activity

            People

              poorna Poorna Chandra
              poorna Poorna Chandra
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: