File tree Expand file tree Collapse file tree 5 files changed +11
-15
lines changed Expand file tree Collapse file tree 5 files changed +11
-15
lines changed Original file line number Diff line number Diff line change @@ -41,6 +41,7 @@ import Database.LSMTree.Internal.Chunk
4141import Database.LSMTree.Internal.Config
4242import Database.LSMTree.Internal.CRC32C
4343import Database.LSMTree.Internal.Entry
44+ import Database.LSMTree.Internal.IncomingRun
4445import Database.LSMTree.Internal.Index
4546import Database.LSMTree.Internal.Index.Compact
4647import Database.LSMTree.Internal.Index.CompactAcc
Original file line number Diff line number Diff line change @@ -106,6 +106,7 @@ import qualified Database.LSMTree.Internal.BlobRef as BlobRef
106106import Database.LSMTree.Internal.Config
107107import qualified Database.LSMTree.Internal.Cursor as Cursor
108108import Database.LSMTree.Internal.Entry (Entry )
109+ import Database.LSMTree.Internal.IncomingRun (IncomingRun (.. ))
109110import Database.LSMTree.Internal.Lookup (ByteCountDiscrepancy ,
110111 ResolveSerialisedValue , lookupsIO ,
111112 lookupsIOWithoutWriteBuffer )
Original file line number Diff line number Diff line change @@ -25,7 +25,6 @@ module Database.LSMTree.Internal.IncomingRun (
2525 , immediatelyCompleteIncomingRun
2626 ) where
2727
28- import Control.ActionRegistry
2928import Control.Concurrent.Class.MonadMVar.Strict
3029import Control.DeepSeq (NFData (.. ))
3130import 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) #-}
6867duplicateIncomingRun ::
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 () #-}
8179releaseIncomingRun ::
Original file line number Diff line number Diff 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 )
327321duplicateLevels 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
Original file line number Diff line number Diff line change @@ -49,6 +49,7 @@ import qualified Data.Vector as V
4949import Database.LSMTree.Internal.Config
5050import Database.LSMTree.Internal.CRC32C (checkCRC )
5151import qualified Database.LSMTree.Internal.CRC32C as CRC
52+ import Database.LSMTree.Internal.IncomingRun
5253import Database.LSMTree.Internal.Lookup (ResolveSerialisedValue )
5354import qualified Database.LSMTree.Internal.Merge as Merge
5455import Database.LSMTree.Internal.MergeSchedule
You can’t perform that action at this time.
0 commit comments