Skip to content

Commit be4003a

Browse files
committed
Trace a warning when closing dangling forkers
1 parent 525dbe9 commit be4003a

File tree

3 files changed

+24
-14
lines changed
  • ouroboros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Storage/LedgerDB

3 files changed

+24
-14
lines changed

ouroboros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Storage/LedgerDB/Forker.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -628,4 +628,5 @@ data TraceForkerEvent
628628
| ForkerReadStatistics
629629
| ForkerPushStart
630630
| ForkerPushEnd
631+
| DanglingForkerClosed
631632
deriving (Show, Eq)

ouroboros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Storage/LedgerDB/V1.hs

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -827,11 +827,15 @@ implForkerClose ::
827827
ForkerEnv m l blk ->
828828
m ()
829829
implForkerClose (LDBHandle varState) forkerKey env = do
830-
atomically $
831-
readTVar varState >>= \case
832-
LedgerDBClosed -> pure ()
833-
LedgerDBOpen ldbEnv -> do
834-
modifyTVar
835-
(ldbForkers ldbEnv)
836-
(Map.delete forkerKey)
830+
frk <-
831+
atomically $
832+
readTVar varState >>= \case
833+
LedgerDBClosed -> pure Nothing
834+
LedgerDBOpen ldbEnv -> do
835+
stateTVar
836+
(ldbForkers ldbEnv)
837+
(\m -> Map.updateLookupWithKey (\_ _ -> Nothing) forkerKey m)
838+
case frk of
839+
Nothing -> pure ()
840+
Just e -> traceWith (foeTracer e) DanglingForkerClosed
837841
closeForkerEnv env

ouroboros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Storage/LedgerDB/V2.hs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -724,13 +724,18 @@ implForkerClose ::
724724
ForkerEnv m l blk ->
725725
m ()
726726
implForkerClose (LDBHandle varState) forkerKey forkerEnv = do
727-
atomically $
728-
readTVar varState >>= \case
729-
LedgerDBClosed -> pure ()
730-
LedgerDBOpen ldbEnv -> do
731-
modifyTVar
732-
(ldbForkers ldbEnv)
733-
(Map.delete forkerKey)
727+
frk <-
728+
atomically $
729+
readTVar varState >>= \case
730+
LedgerDBClosed -> pure Nothing
731+
LedgerDBOpen ldbEnv -> do
732+
stateTVar
733+
(ldbForkers ldbEnv)
734+
(\m -> Map.updateLookupWithKey (\_ _ -> Nothing) forkerKey m)
735+
736+
case frk of
737+
Nothing -> pure ()
738+
Just e -> traceWith (foeTracer e) DanglingForkerClosed
734739

735740
closeForkerEnv forkerEnv
736741

0 commit comments

Comments
 (0)