Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
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
- is blocked by
-
TEPHRA-166 Expose commit time write pointer for a transaction
- Open