Skip to content

Commit 012b4eb

Browse files
committed
Fourmolize and hlint
1 parent 66c7734 commit 012b4eb

5 files changed

Lines changed: 122 additions & 104 deletions

File tree

cardano-db-sync/src/Cardano/DbSync/Api.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,10 @@ import Cardano.DbSync.Ledger.State (
8989
mkHasLedgerEnv,
9090
)
9191
import Cardano.DbSync.Ledger.Types (HasLedgerEnv (..), SnapshotPoint (..))
92-
import Ouroboros.Consensus.Storage.LedgerDB.Snapshots (DiskSnapshot (..))
9392
import Cardano.DbSync.LocalStateQuery
9493
import Cardano.DbSync.Types
9594
import Cardano.DbSync.Util
95+
import Ouroboros.Consensus.Storage.LedgerDB.Snapshots (DiskSnapshot (..))
9696

9797
setConsistentLevel :: SyncEnv -> ConsistentLevel -> IO ()
9898
setConsistentLevel env cst = do

cardano-db-sync/src/Cardano/DbSync/Ledger/Snapshot.hs

Lines changed: 45 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,34 @@
1-
{-# LANGUAGE NoImplicitPrelude #-}
21
{-# LANGUAGE OverloadedStrings #-}
32
{-# LANGUAGE ScopedTypeVariables #-}
4-
{-# LANGUAGE TypeApplications #-}
3+
{-# LANGUAGE NoImplicitPrelude #-}
54

65
-- | Snapshot operations for db-sync, using consensus snapshot format.
76
--
87
-- This module replaces the old custom .lstate snapshot format with
98
-- consensus's directory-based format (<slot>[_suffix]/ containing
109
-- state, meta, utxoSize files).
11-
module Cardano.DbSync.Ledger.Snapshot
12-
( -- * Migration
13-
migrateOldSnapshots
14-
-- * Save
15-
, saveCurrentLedgerState
16-
, saveCleanupState
17-
, snapshotWriteLoop
18-
, runLedgerStateWriteThread
19-
-- * Load
20-
, loadSnapshotFromDisk
21-
, findStateFromSnapshot
22-
-- * List / Cleanup
23-
, listDiskSnapshots
24-
, deleteNewerSnapshots
25-
-- * Snapshot points
26-
, listKnownSnapshots
27-
, getSlotNoSnapshot
28-
) where
10+
module Cardano.DbSync.Ledger.Snapshot (
11+
-- * Migration
12+
migrateOldSnapshots,
13+
14+
-- * Save
15+
saveCurrentLedgerState,
16+
saveCleanupState,
17+
snapshotWriteLoop,
18+
runLedgerStateWriteThread,
19+
20+
-- * Load
21+
loadSnapshotFromDisk,
22+
findStateFromSnapshot,
23+
24+
-- * List / Cleanup
25+
listDiskSnapshots,
26+
deleteNewerSnapshots,
27+
28+
-- * Snapshot points
29+
listKnownSnapshots,
30+
getSlotNoSnapshot,
31+
) where
2932

3033
import Cardano.BM.Trace (Trace, logInfo, logWarning)
3134
import Cardano.DbSync.Api.Types (LedgerEnv (..))
@@ -36,17 +39,17 @@ import Cardano.Prelude hiding (atomically)
3639
import Cardano.Slotting.Slot (EpochNo (..), WithOrigin (..))
3740
import Control.Concurrent.Class.MonadSTM.Strict (atomically, readTVar, writeTVar)
3841
import Control.Concurrent.STM.TBQueue (readTBQueue, writeTBQueue)
39-
import Data.Time.Clock (getCurrentTime, diffUTCTime)
4042
import qualified Data.List as List
4143
import qualified Data.Strict.Maybe as Strict
44+
import Data.Time.Clock (diffUTCTime, getCurrentTime)
4245
import qualified Database.LSMTree as LSMTree
4346
import qualified Ouroboros.Consensus.Ledger.Abstract as Consensus
4447
import Ouroboros.Consensus.Ledger.Extended (ExtLedgerState (..))
45-
import qualified Ouroboros.Consensus.Storage.LedgerDB.V2.LedgerSeq as Consensus (StateRef (..))
4648
import Ouroboros.Consensus.Storage.LedgerDB.Snapshots
49+
import qualified Ouroboros.Consensus.Storage.LedgerDB.V2.LedgerSeq as Consensus (StateRef (..))
4750
import Ouroboros.Network.Block
4851
import qualified Ouroboros.Network.Point as Point
49-
import System.Directory (listDirectory, removeFile, doesDirectoryExist)
52+
import System.Directory (doesDirectoryExist, listDirectory, removeFile)
5053
import System.FilePath (takeExtension, (</>))
5154

5255
-- | Remove old .lstate files from a previous db-sync version.
@@ -74,8 +77,7 @@ saveCurrentLedgerState env lState _mEpochNo = do
7477

7578
-- | Save a snapshot and clean up old ones.
7679
saveCleanupState :: HasLedgerEnv -> DbSyncStateRef -> Maybe EpochNo -> IO ()
77-
saveCleanupState env ledger mEpochNo =
78-
saveCurrentLedgerState env ledger mEpochNo
80+
saveCleanupState = saveCurrentLedgerState
7981

8082
-- | The write thread that takes snapshots from the queue.
8183
runLedgerStateWriteThread :: Trace IO Text -> LedgerEnv -> IO ()
@@ -107,13 +109,15 @@ snapshotWriteLoop tracer env = loop
107109
, textShow (diffUTCTime endTime startTime)
108110
]
109111
-- Trim old snapshots after writing the new one
110-
let policy = SnapshotPolicy
111-
{ onDiskNumSnapshots = 3
112-
, onDiskShouldTakeSnapshot = \_ _ -> True
113-
}
112+
let policy =
113+
SnapshotPolicy
114+
{ onDiskNumSnapshots = 3
115+
, onDiskShouldTakeSnapshot = \_ _ -> True
116+
}
114117
deleted <- trimSnapshots (leSnapshotManager env) policy
115118
unless (null deleted) $
116-
logInfo tracer $ "Trimmed " <> textShow (length deleted) <> " old snapshots"
119+
logInfo tracer $
120+
"Trimmed " <> textShow (length deleted) <> " old snapshots"
117121
loop
118122

119123
-- | Load a snapshot from disk using consensus APIs.
@@ -125,12 +129,18 @@ loadSnapshotFromDisk ::
125129
IO (Either Text DbSyncStateRef)
126130
loadSnapshotFromDisk env ds = do
127131
startTime <- getCurrentTime
128-
eResult <- handle (\(err :: LSMTree.SnapshotDoesNotExistError) -> pure $ Left $ textShow err) $
129-
leLoadSnapshot env ds
132+
eResult <-
133+
handle (\(err :: LSMTree.SnapshotDoesNotExistError) -> pure $ Left $ textShow err) $
134+
leLoadSnapshot env ds
130135
endTime <- getCurrentTime
131136
case eResult of
132-
Left err -> pure $ Left $ "Failed to load snapshot " <> textShow (snapshotToDirName ds)
133-
<> ": " <> err
137+
Left err ->
138+
pure $
139+
Left $
140+
"Failed to load snapshot "
141+
<> textShow (snapshotToDirName ds)
142+
<> ": "
143+
<> err
134144
Right cRef -> do
135145
logInfo (leTrace env) $
136146
mconcat
@@ -216,7 +226,7 @@ getSlotNoSnapshot (InMemory cp) = pointSlot cp
216226

217227
listMemorySnapshots :: HasLedgerEnv -> IO [CardanoPoint]
218228
listMemorySnapshots env = do
219-
mState <- atomically $ readTVar $ leStateVar env
229+
mState <- readTVarIO (leStateVar env)
220230
case mState of
221231
Strict.Nothing -> pure []
222232
Strict.Just ledgerDB ->

0 commit comments

Comments
 (0)