Skip to content

Commit 89cc096

Browse files
committed
Full build
1 parent 522a5a4 commit 89cc096

File tree

12 files changed

+66
-36
lines changed

12 files changed

+66
-36
lines changed

ouroboros-consensus-cardano/app/snapshot-converter.hs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,7 @@ checkSnapshotFileStructure m p (SomeHasFS fs) = case m of
166166

167167
load ::
168168
forall blk.
169-
( LedgerDbSerialiseConstraints blk
170-
, CanStowLedgerTables (LedgerState blk)
169+
( CanStowLedgerTables (LedgerState blk)
171170
, LedgerSupportsProtocol blk
172171
, LedgerSupportsLedgerDB blk
173172
) =>
@@ -218,8 +217,7 @@ load config@Config{inpath = pathToDiskSnapshot -> Just (fs@(SomeHasFS hasFS), pa
218217
load _ _ _ _ = error "Malformed input path!"
219218

220219
store ::
221-
( LedgerDbSerialiseConstraints blk
222-
, CanStowLedgerTables (LedgerState blk)
220+
( CanStowLedgerTables (LedgerState blk)
223221
, LedgerSupportsProtocol blk
224222
, LedgerSupportsLedgerDB blk
225223
) =>

ouroboros-consensus-cardano/src/unstable-cardano-testlib/Test/ThreadNet/Infra/ShelleyBasedHardFork.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,7 @@ type instance
519519
LSMTxOut (LedgerState (HardForkBlock (ShelleyBasedHardForkEras proto1 era1 proto2 era2))) =
520520
TxOut (LedgerState (HardForkBlock (ShelleyBasedHardForkEras proto1 era1 proto2 era2)))
521521

522-
instance ToLSMTxOut (LedgerState (HardForkBlock (ShelleyBasedHardForkEras proto1 era1 proto2 era2))) where
522+
instance HasLSMTxOut (LedgerState (HardForkBlock (ShelleyBasedHardForkEras proto1 era1 proto2 era2))) where
523523
toLSMTxOut _ = id
524524
fromLSMTxOut _ = id
525525

ouroboros-consensus-cardano/src/unstable-cardano-tools/Cardano/Tools/DBAnalyser/Run.hs

Lines changed: 30 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import Cardano.Tools.DBAnalyser.HasAnalysis
1515
import Cardano.Tools.DBAnalyser.Types
1616
import Control.ResourceRegistry
1717
import Control.Tracer (Tracer (..), nullTracer)
18+
import Data.Functor.Contravariant ((>$<))
1819
import qualified Data.SOP.Dict as Dict
1920
import Data.Singletons (Sing, SingI (..))
2021
import qualified Debug.Trace as Debug
@@ -34,17 +35,21 @@ import qualified Ouroboros.Consensus.Storage.ChainDB as ChainDB
3435
import qualified Ouroboros.Consensus.Storage.ChainDB.Impl.Args as ChainDB
3536
import qualified Ouroboros.Consensus.Storage.ImmutableDB as ImmutableDB
3637
import qualified Ouroboros.Consensus.Storage.ImmutableDB.Stream as ImmutableDB
38+
import Ouroboros.Consensus.Storage.LedgerDB (TraceEvent (..))
3739
import qualified Ouroboros.Consensus.Storage.LedgerDB as LedgerDB
40+
import Ouroboros.Consensus.Storage.LedgerDB.Snapshots (defaultDeleteSnapshot)
3841
import qualified Ouroboros.Consensus.Storage.LedgerDB.V1 as LedgerDB.V1
3942
import qualified Ouroboros.Consensus.Storage.LedgerDB.V1.Args as LedgerDB.V1
4043
import qualified Ouroboros.Consensus.Storage.LedgerDB.V1.BackingStore.Impl.LMDB as LMDB
4144
import qualified Ouroboros.Consensus.Storage.LedgerDB.V2 as LedgerDB.V2
4245
import qualified Ouroboros.Consensus.Storage.LedgerDB.V2.Args as LedgerDB.V2
43-
import qualified Ouroboros.Consensus.Storage.LedgerDB.V2.LSM as LedgerDB.V2
46+
import qualified Ouroboros.Consensus.Storage.LedgerDB.V2.Args as V2
47+
import qualified Ouroboros.Consensus.Storage.LedgerDB.V2.LSM as LSM
4448
import Ouroboros.Consensus.Util.Args
4549
import Ouroboros.Consensus.Util.IOLike
4650
import Ouroboros.Consensus.Util.Orphans ()
4751
import Ouroboros.Network.Block (genesisPoint)
52+
import System.FS.API
4853
import System.IO
4954
import Text.Printf (printf)
5055

@@ -55,10 +60,8 @@ import Text.Printf (printf)
5560
openLedgerDB ::
5661
( LedgerSupportsProtocol blk
5762
, InspectLedger blk
58-
, LedgerDB.LedgerDbSerialiseConstraints blk
5963
, HasHardForkHistory blk
6064
, LedgerDB.LedgerSupportsLedgerDB blk
61-
, LedgerDB.V2.GoodForLSM (LedgerState blk)
6265
) =>
6366
Complete LedgerDB.LedgerDbArgs IO blk ->
6467
IO
@@ -69,6 +72,7 @@ openLedgerDB lgrDbArgs@LedgerDB.LedgerDbArgs{LedgerDB.lgrFlavorArgs = LedgerDB.L
6972
(ledgerDB, _, intLedgerDB) <-
7073
LedgerDB.openDBInternal
7174
lgrDbArgs
75+
defaultDeleteSnapshot
7276
( LedgerDB.V1.mkInitDb
7377
lgrDbArgs
7478
bss
@@ -78,12 +82,34 @@ openLedgerDB lgrDbArgs@LedgerDB.LedgerDbArgs{LedgerDB.lgrFlavorArgs = LedgerDB.L
7882
genesisPoint
7983
pure (ledgerDB, intLedgerDB)
8084
openLedgerDB lgrDbArgs@LedgerDB.LedgerDbArgs{LedgerDB.lgrFlavorArgs = LedgerDB.LedgerDbFlavorArgsV2 args} = do
85+
(ds, bss') <- case args of
86+
V2.V2Args V2.InMemoryHandleArgs -> pure (defaultDeleteSnapshot, V2.InMemoryHandleEnv)
87+
V2.V2Args (V2.LSMHandleArgs (V2.LSMArgs path genSalt mkFS)) -> do
88+
session <-
89+
snd
90+
<$> allocate
91+
(LedgerDB.lgrRegistry lgrDbArgs)
92+
( \_ -> do
93+
V2.SomeHasFSAndBlockIO fs' blockio <- mkFS "lsm"
94+
salt <- genSalt
95+
LSM.openSession
96+
( LedgerDBFlavorImplEvent . LedgerDB.FlavorImplSpecificTraceV2 . V2.LSMTrace
97+
>$< LedgerDB.lgrTracer lgrDbArgs
98+
)
99+
fs'
100+
blockio
101+
salt
102+
(mkFsPath [path])
103+
)
104+
LSM.closeSession
105+
pure (LSM.deleteSnapshot session, V2.LSMHandleEnv session)
81106
(ledgerDB, _, intLedgerDB) <-
82107
LedgerDB.openDBInternal
83108
lgrDbArgs
109+
ds
84110
( LedgerDB.V2.mkInitDb
85111
lgrDbArgs
86-
args
112+
bss'
87113
(\_ -> error "no replay")
88114
)
89115
emptyStream

ouroboros-consensus-diffusion/test/consensus-test/Test/Consensus/HardFork/Combinator.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,7 @@ type instance
479479
LSMTxOut (LedgerState (HardForkBlock [BlockA, BlockB])) =
480480
TxOut (LedgerState (HardForkBlock [BlockA, BlockB]))
481481

482-
instance ToLSMTxOut (LedgerState (HardForkBlock [BlockA, BlockB])) where
482+
instance HasLSMTxOut (LedgerState (HardForkBlock [BlockA, BlockB])) where
483483
toLSMTxOut _ = id
484484
fromLSMTxOut _ = id
485485

ouroboros-consensus/src/unstable-consensus-testlib/Test/Util/ChainDB.hs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,9 +134,6 @@ fromMinimalChainDbArgs MinimalChainDbArgs{..} =
134134
, lgrFlavorArgs = LedgerDbFlavorArgsV2 (V2Args InMemoryHandleArgs)
135135
, lgrQueryBatchSize = DefaultQueryBatchSize
136136
, lgrStartSnapshot = Nothing
137-
-- TODO @js
138-
, lgrGenSalt = undefined
139-
, lgrMkLSMFS = undefined
140137
}
141138
, cdbsArgs =
142139
ChainDbSpecificArgs

ouroboros-consensus/src/unstable-consensus-testlib/Test/Util/TestBlock.hs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,6 @@ import Ouroboros.Consensus.Protocol.MockChainSel
145145
import Ouroboros.Consensus.Protocol.Signed
146146
import Ouroboros.Consensus.Storage.ChainDB (SerialiseDiskConstraints)
147147
import Ouroboros.Consensus.Storage.LedgerDB
148-
import Ouroboros.Consensus.Storage.LedgerDB.V2.LSM
149148
import Ouroboros.Consensus.Storage.Serialisation
150149
import Ouroboros.Consensus.Util (ShowProxy (..))
151150
import Ouroboros.Consensus.Util.Condense
@@ -533,7 +532,7 @@ type instance TxIn (LedgerState TestBlock) = Void
533532
type instance TxOut (LedgerState TestBlock) = Void
534533
type instance LSMTxOut (LedgerState TestBlock) = Void
535534

536-
instance ToLSMTxOut (LedgerState TestBlock) where
535+
instance HasLSMTxOut (LedgerState TestBlock) where
537536
toLSMTxOut _ = id
538537
fromLSMTxOut _ = id
539538

ouroboros-consensus/src/unstable-mock-block/Ouroboros/Consensus/Mock/Ledger/Block.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -531,7 +531,7 @@ type instance TxIn (LedgerState (SimpleBlock c ext)) = Mock.TxIn
531531
type instance TxOut (LedgerState (SimpleBlock c ext)) = Mock.TxOut
532532
type instance LSMTxOut (LedgerState (SimpleBlock c ext)) = Mock.TxOut
533533

534-
instance ToLSMTxOut (LedgerState (SimpleBlock c ext)) where
534+
instance HasLSMTxOut (LedgerState (SimpleBlock c ext)) where
535535
toLSMTxOut _ = id
536536
fromLSMTxOut _ = id
537537

ouroboros-consensus/test/storage-test/Test/Ouroboros/Storage/ChainDB/FollowerPromptness.hs

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
{-# LANGUAGE StandaloneDeriving #-}
2-
{-# LANGUAGE DerivingVia #-}
31
{-# LANGUAGE BlockArguments #-}
42
{-# LANGUAGE DerivingStrategies #-}
3+
{-# LANGUAGE DerivingVia #-}
54
{-# LANGUAGE LambdaCase #-}
65
{-# LANGUAGE NamedFieldPuns #-}
76
{-# LANGUAGE RecordWildCards #-}
87
{-# LANGUAGE ScopedTypeVariables #-}
8+
{-# LANGUAGE StandaloneDeriving #-}
99
{-# LANGUAGE TupleSections #-}
1010
{-# LANGUAGE ViewPatterns #-}
1111

@@ -51,15 +51,6 @@ import Test.Util.ChainUpdates
5151
import Test.Util.Orphans.IOLike ()
5252
import Test.Util.TestBlock
5353
import Test.Util.Tracer (recordingTracerTVar)
54-
import qualified Database.LSMTree as LSM
55-
import Data.Void
56-
57-
instance LSM.SerialiseKey Void where
58-
serialiseKey = absurd
59-
deserialiseKey = error "deserialiseKey: Void"
60-
61-
deriving via LSM.ResolveAsFirst Void instance LSM.ResolveValue Void
62-
6354

6455
tests :: TestTree
6556
tests =

ouroboros-consensus/test/storage-test/Test/Ouroboros/Storage/ChainDB/StateMachine.hs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,6 @@ import Ouroboros.Consensus.Storage.ImmutableDB.Chunks.Internal
128128
import Ouroboros.Consensus.Storage.LedgerDB (LedgerSupportsLedgerDB)
129129
import qualified Ouroboros.Consensus.Storage.LedgerDB.TraceEvent as LedgerDB
130130
import qualified Ouroboros.Consensus.Storage.LedgerDB.V1.DbChangelog as DbChangelog
131-
import Ouroboros.Consensus.Storage.LedgerDB.V2.LSM
132131
import qualified Ouroboros.Consensus.Storage.VolatileDB as VolatileDB
133132
import Ouroboros.Consensus.Util (split)
134133
import Ouroboros.Consensus.Util.CallStack
@@ -336,7 +335,6 @@ type TestConstraints blk =
336335
, LedgerTablesAreTrivial (LedgerState blk)
337336
, LedgerSupportsLedgerDB blk
338337
, ImmutableEraParams blk
339-
, GoodForLSM (LedgerState blk)
340338
)
341339

342340
deriving instance

ouroboros-consensus/test/storage-test/Test/Ouroboros/Storage/LedgerDB/StateMachine.hs

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ import Control.Monad.Except
4444
import Control.Monad.State hiding (state)
4545
import Control.ResourceRegistry
4646
import Control.Tracer (Tracer (..))
47+
import Data.Functor.Contravariant ((>$<))
4748
import qualified Data.List as L
4849
import Data.Map.Strict (Map)
4950
import qualified Data.Map.Strict as Map
@@ -68,6 +69,7 @@ import Ouroboros.Consensus.Storage.LedgerDB.V2.Args hiding
6869
( LedgerDbFlavorArgs
6970
)
7071
import qualified Ouroboros.Consensus.Storage.LedgerDB.V2.Args as V2
72+
import qualified Ouroboros.Consensus.Storage.LedgerDB.V2.LSM as LSM
7173
import Ouroboros.Consensus.Util hiding (Some)
7274
import Ouroboros.Consensus.Util.Args
7375
import Ouroboros.Consensus.Util.IOLike
@@ -495,14 +497,33 @@ openLedgerDB flavArgs env cfg fs = do
495497
args
496498
bss
497499
getBlock
498-
in openDBInternal args initDb stream replayGoal
499-
LedgerDbFlavorArgsV2 bss ->
500+
in openDBInternal args defaultDeleteSnapshot initDb stream replayGoal
501+
LedgerDbFlavorArgsV2 bss -> do
502+
(ds, bss') <- case bss of
503+
V2.V2Args V2.InMemoryHandleArgs -> pure (defaultDeleteSnapshot, V2.InMemoryHandleEnv)
504+
V2.V2Args (V2.LSMHandleArgs (V2.LSMArgs path genSalt mkFS)) -> do
505+
session <-
506+
snd
507+
<$> allocate
508+
(lgrRegistry args)
509+
( \_ -> do
510+
V2.SomeHasFSAndBlockIO fs' blockio <- mkFS "lsm"
511+
salt <- genSalt
512+
LSM.openSession
513+
(LedgerDBFlavorImplEvent . FlavorImplSpecificTraceV2 . V2.LSMTrace >$< lgrTracer args)
514+
fs'
515+
blockio
516+
salt
517+
(mkFsPath [path])
518+
)
519+
LSM.closeSession
520+
pure (LSM.deleteSnapshot session, V2.LSMHandleEnv session)
500521
let initDb =
501522
V2.mkInitDb
502523
args
503-
bss
524+
bss'
504525
getBlock
505-
in openDBInternal args initDb stream replayGoal
526+
openDBInternal args ds initDb stream replayGoal
506527
withRegistry $ \reg -> do
507528
vr <- validateFork ldb reg (const $ pure ()) BlockCache.empty 0 (map getHeader volBlocks)
508529
case vr of
@@ -617,6 +638,7 @@ mkTrackOpenHandles = do
617638
atomically $ modifyTVar varOpen $ case ev of
618639
V2.TraceLedgerTablesHandleCreate -> succ
619640
V2.TraceLedgerTablesHandleClose -> pred
641+
_ -> id
620642
_ -> pure ()
621643
pure (tracer, readTVarIO varOpen)
622644

0 commit comments

Comments
 (0)