Skip to content

Commit a69b8a9

Browse files
authored
Merge pull request #630 from IntersectMBO/jdral/incoming-run
Miscellaneous changes for `IncomingRun`
2 parents 3c005eb + e4c2a0d commit a69b8a9

File tree

5 files changed

+11
-15
lines changed

5 files changed

+11
-15
lines changed

src-extras/Database/LSMTree/Extras/NoThunks.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ import Database.LSMTree.Internal.Chunk
4141
import Database.LSMTree.Internal.Config
4242
import Database.LSMTree.Internal.CRC32C
4343
import Database.LSMTree.Internal.Entry
44+
import Database.LSMTree.Internal.IncomingRun
4445
import Database.LSMTree.Internal.Index
4546
import Database.LSMTree.Internal.Index.Compact
4647
import Database.LSMTree.Internal.Index.CompactAcc

src/Database/LSMTree/Internal.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ import qualified Database.LSMTree.Internal.BlobRef as BlobRef
106106
import Database.LSMTree.Internal.Config
107107
import qualified Database.LSMTree.Internal.Cursor as Cursor
108108
import Database.LSMTree.Internal.Entry (Entry)
109+
import Database.LSMTree.Internal.IncomingRun (IncomingRun (..))
109110
import Database.LSMTree.Internal.Lookup (ByteCountDiscrepancy,
110111
ResolveSerialisedValue, lookupsIO,
111112
lookupsIOWithoutWriteBuffer)

src/Database/LSMTree/Internal/IncomingRun.hs

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ module Database.LSMTree.Internal.IncomingRun (
2525
, immediatelyCompleteIncomingRun
2626
) where
2727

28-
import Control.ActionRegistry
2928
import Control.Concurrent.Class.MonadMVar.Strict
3029
import Control.DeepSeq (NFData (..))
3130
import Control.Monad.Class.MonadST (MonadST)
@@ -64,18 +63,17 @@ instance NFData MergePolicyForLevel where
6463
rnf LevelTiering = ()
6564
rnf LevelLevelling = ()
6665

67-
{-# SPECIALISE duplicateIncomingRun :: ActionRegistry IO -> IncomingRun IO h -> IO (IncomingRun IO h) #-}
66+
{-# SPECIALISE duplicateIncomingRun :: IncomingRun IO h -> IO (IncomingRun IO h) #-}
6867
duplicateIncomingRun ::
6968
(PrimMonad m, MonadMask m)
70-
=> ActionRegistry m
71-
-> IncomingRun m h
69+
=> IncomingRun m h
7270
-> m (IncomingRun m h)
73-
duplicateIncomingRun reg (Single r) =
74-
Single <$> withRollback reg (dupRef r) releaseRef
71+
duplicateIncomingRun (Single r) =
72+
Single <$> dupRef r
7573

76-
duplicateIncomingRun reg (Merging mp md mcv mr) =
74+
duplicateIncomingRun (Merging mp md mcv mr) =
7775
Merging mp md <$> (newPrimVar =<< readPrimVar mcv)
78-
<*> withRollback reg (dupRef mr) releaseRef
76+
<*> dupRef mr
7977

8078
{-# SPECIALISE releaseIncomingRun :: IncomingRun IO h -> IO () #-}
8179
releaseIncomingRun ::

src/Database/LSMTree/Internal/MergeSchedule.hs

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,7 @@ module Database.LSMTree.Internal.MergeSchedule (
2323
-- * Levels, runs and ongoing merges
2424
, Levels
2525
, Level (..)
26-
, IncomingRun (..)
2726
, MergePolicyForLevel (..)
28-
, newIncomingSingleRun
29-
, newIncomingMergingRun
30-
, releaseIncomingRun
31-
, supplyCreditsIncomingRun
32-
, snapshotIncomingRun
3327
, mergingRunParamsForLevel
3428
-- * Union level
3529
, UnionLevel (..)
@@ -326,7 +320,7 @@ duplicateLevels ::
326320
-> m (Levels m h)
327321
duplicateLevels reg levels =
328322
forMStrict levels $ \Level {incomingRun, residentRuns} -> do
329-
incomingRun' <- duplicateIncomingRun reg incomingRun
323+
incomingRun' <- withRollback reg (duplicateIncomingRun incomingRun) releaseIncomingRun
330324
residentRuns' <- forMStrict residentRuns $ \r ->
331325
withRollback reg (dupRef r) releaseRef
332326
return $! Level {
@@ -710,6 +704,7 @@ addRunToLevels tr conf@TableConfig{..} resolve hfs hbio root uc r0 reg levels ul
710704
TraceCompletedMerge (Run.size r) (Run.runFsPathsNumber r)
711705

712706
return ir
707+
713708
{-# SPECIALISE newIncomingRunAtLevel ::
714709
Tracer IO (AtLevel MergeTrace)
715710
-> HasFS IO h

src/Database/LSMTree/Internal/Snapshot.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ import qualified Data.Vector as V
4949
import Database.LSMTree.Internal.Config
5050
import Database.LSMTree.Internal.CRC32C (checkCRC)
5151
import qualified Database.LSMTree.Internal.CRC32C as CRC
52+
import Database.LSMTree.Internal.IncomingRun
5253
import Database.LSMTree.Internal.Lookup (ResolveSerialisedValue)
5354
import qualified Database.LSMTree.Internal.Merge as Merge
5455
import Database.LSMTree.Internal.MergeSchedule

0 commit comments

Comments
 (0)