You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Set both Sealed and Invalid on new records to ensure consistency both during normal operations and after recovery, which clears the Sealed bit. (#864)
- Seal ConcurrentUpdater and InPlaceUpdater source records on successful RCU even when not doing Standard locking
// We are called by one of ReadFromImmutable, CompactionConditionalCopyToTail, or ContinueConditionalCopyToTail, and stackCtx is set up for the first try.
21
-
// minAddress is the stackCtx.recSrc.LatestLogicalAddress; by the time we get here, any IO below that has been done due to PrepareConditionalCopyToTailIO,
22
-
// which then went to ContinueConditionalCopyToTail, which evaluated whether the record was found at that level.
36
+
// We are called by one of ReadFromImmutable, CompactionConditionalCopyToTail, or ContinuePendingConditionalCopyToTail;
37
+
// these have already searched to see if the record is present above minAddress, and stackCtx is set up for the first try.
38
+
// minAddress is the stackCtx.recSrc.LatestLogicalAddress; by the time we get here, any IO below that has been done due to
39
+
// PrepareConditionalCopyToTailIO, which then went to ContinuePendingConditionalCopyToTail, which evaluated whether the
40
+
// record was found at that level.
23
41
while(true)
24
42
{
25
43
// ConditionalCopyToTail is different in regard to locking from the usual procedures, in that if we find a source record we don't lock--we exit with success.
0 commit comments