Skip to content

Commit 77cb0ba

Browse files
committed
Rename MergeComplete to MergeDone
This is done to make it clear that there is a difference between progressing the merge until there are no more inputs to merge (`Done`), and converting the merge into an output run (`Complete`).
1 parent 14950a7 commit 77cb0ba

File tree

3 files changed

+12
-12
lines changed

3 files changed

+12
-12
lines changed

src/Database/LSMTree/Internal/Merge.hs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ data Merge m h = Merge {
5858
, mergeMappend :: !Mappend
5959
, mergeReaders :: {-# UNPACK #-} !(Readers m h)
6060
, mergeBuilder :: !(RunBuilder m h)
61-
-- | The caching policy to use for the Run in the 'MergeComplete'.
61+
-- | The caching policy to use for the output Run.
6262
, mergeCaching :: !RunDataCaching
6363
-- | The result of the latest call to 'steps'. This is used to determine
6464
-- whether a merge can be 'complete'd.
@@ -227,7 +227,7 @@ stepsToCompletion m stepBatchSize = go
227227
go = do
228228
steps m stepBatchSize >>= \case
229229
(_, MergeInProgress) -> go
230-
(_, MergeComplete) -> complete m
230+
(_, MergeDone) -> complete m
231231

232232
{-# SPECIALISE stepsToCompletionCounted ::
233233
Merge IO h
@@ -246,10 +246,10 @@ stepsToCompletionCounted m stepBatchSize = go 0
246246
go !stepsSum = do
247247
steps m stepBatchSize >>= \case
248248
(n, MergeInProgress) -> go (stepsSum + n)
249-
(n, MergeComplete) -> let !stepsSum' = stepsSum + n
249+
(n, MergeDone) -> let !stepsSum' = stepsSum + n
250250
in (stepsSum',) <$> complete m
251251

252-
data StepResult = MergeInProgress | MergeComplete
252+
data StepResult = MergeInProgress | MergeDone
253253
deriving stock Eq
254254

255255
stepsInvariant :: Int -> (Int, StepResult) -> Bool
@@ -285,7 +285,7 @@ steps Merge {..} requestedSteps = assertStepsInvariant <$> do
285285
-- check.
286286
readMutVar mergeState >>= \case
287287
Merging -> go 0
288-
MergingDone -> pure (0, MergeComplete)
288+
MergingDone -> pure (0, MergeDone)
289289
Completed -> error "steps: Merge is completed"
290290
Closed -> error "steps: Merge is closed"
291291
where
@@ -304,7 +304,7 @@ steps Merge {..} requestedSteps = assertStepsInvariant <$> do
304304
-- no future entries, no previous entry to resolve, just write!
305305
writeReaderEntry mergeLevel mergeBuilder key entry
306306
writeMutVar mergeState $! MergingDone
307-
pure (n + 1, MergeComplete)
307+
pure (n + 1, MergeDone)
308308

309309
handleEntry !n !key (Reader.Entry (Mupdate v)) =
310310
-- resolve small mupsert vals with the following entries of the same key
@@ -343,15 +343,15 @@ steps Merge {..} requestedSteps = assertStepsInvariant <$> do
343343
Readers.Drained -> do
344344
writeSerialisedEntry mergeLevel mergeBuilder key resolved
345345
writeMutVar mergeState $! MergingDone
346-
pure (n + 1, MergeComplete)
346+
pure (n + 1, MergeDone)
347347

348348
dropRemaining !n !key = do
349349
(dropped, hasMore) <- Readers.dropWhileKey mergeReaders key
350350
case hasMore of
351351
Readers.HasMore -> go (n + dropped)
352352
Readers.Drained -> do
353353
writeMutVar mergeState $! MergingDone
354-
pure (n + dropped, MergeComplete)
354+
pure (n + dropped, MergeDone)
355355

356356
{-# SPECIALISE writeReaderEntry ::
357357
Level

src/Database/LSMTree/Internal/MergeSchedule.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -921,7 +921,7 @@ supplyMergeCredits (ScaledCredits c) (MergingRun _ _ var) = do
921921
(stepsDone, stepResult) <- Merge.steps m stepsToDo
922922
assert (case stepResult of
923923
MergeInProgress -> stepsDone >= stepsToDo
924-
MergeComplete -> True
924+
MergeDone -> True
925925
) $ pure ()
926926

927927
-- This should be the only point at which we write to these variables.
@@ -939,10 +939,10 @@ supplyMergeCredits (ScaledCredits c) (MergingRun _ _ var) = do
939939
writePrimVar totalCreditsVar $! totalCredits + c
940940
assert (case stepResult of
941941
MergeInProgress -> totalSteps' >= totalCredits'
942-
MergeComplete -> True
942+
MergeDone -> True
943943
) $ pure ()
944944

945-
pure $ stepResult == MergeComplete
945+
pure $ stepResult == MergeDone
946946
when mergeIsDone $
947947
modifyMVarMasked_ var $ \case
948948
mr@CompletedMerge{} -> pure $! mr

test/Test/Database/LSMTree/Internal/Merge.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ prop_CloseMerge fs hbio level (Positive stepSize) (SmallList wbs) =
140140
Just merge -> do
141141
-- just do a few steps once, ideally not completing the merge
142142
Merge.steps merge stepSize >>= \case
143-
(_, Merge.MergeComplete) -> do
143+
(_, Merge.MergeDone) -> do
144144
Merge.removeReference merge -- run not needed, close
145145
return Nothing -- not in progress
146146
(_, Merge.MergeInProgress) ->

0 commit comments

Comments
 (0)