Skip to content

Commit 7050b6a

Browse files
Integrate o-network and o-consensus
Missing updating Node Configuration parser to read genesis targets and ledger snapshot.
1 parent e2bf857 commit 7050b6a

File tree

7 files changed

+64
-51
lines changed

7 files changed

+64
-51
lines changed

bench/tx-generator/src/Cardano/Benchmarking/Command.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ import GHC.Weak as Weak (deRefWeak)
5858
import System.Posix.Signals as Sig (Handler (CatchInfo),
5959
SignalInfo (..), SignalSpecificInfo (..), installHandler,
6060
sigINT, sigTERM)
61+
import Foreign.C (Errno(..))
6162
#if MIN_VERSION_base(4,18,0)
6263
import Data.Maybe as Maybe (fromMaybe)
6364
import GHC.Conc.Sync as Conc (threadLabel)

bench/tx-generator/tx-generator.cabal

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@ library
158158
, transformers-except
159159
, unordered-containers
160160
, yaml
161+
, microlens
161162

162163
default-language: Haskell2010
163164
default-extensions: OverloadedStrings

cardano-node/src/Cardano/Node/Configuration/POM.hs

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,10 @@ data NodeConfiguration
171171
-- by the diffusion layer when syncing
172172
, ncConsensusMode :: !ConsensusMode
173173

174+
-- Minimum number of active big ledger peers we must be connected to
175+
-- in Genesis mode
176+
, ncMinBigLedgerPeersForTrustedState :: MinBigLedgerPeersForTrustedState
177+
174178
-- Enable experimental P2P mode
175179
, ncEnableP2P :: SomeNetworkP2PMode
176180

@@ -238,7 +242,9 @@ data PartialNodeConfiguration
238242
, pncSyncTargetOfKnownBigLedgerPeers :: !(Last Int)
239243
, pncSyncTargetOfEstablishedBigLedgerPeers :: !(Last Int)
240244
, pncSyncTargetOfActiveBigLedgerPeers :: !(Last Int)
241-
, pncSyncMinTrusted :: !(Last MinBigLedgerPeersForTrustedState)
245+
-- Minimum number of active big ledger peers we must be connected to
246+
-- in Genesis mode
247+
, pncMinBigLedgerPeersForTrustedState :: !(Last MinBigLedgerPeersForTrustedState)
242248

243249
-- Consensus mode for diffusion layer
244250
, pncConsensusMode :: !(Last ConsensusMode)
@@ -336,7 +342,9 @@ instance FromJSON PartialNodeConfiguration where
336342
pncSyncTargetOfKnownBigLedgerPeers <- Last <$> v .:? "SyncTargetNumberOfKnownBigLedgerPeers"
337343
pncSyncTargetOfEstablishedBigLedgerPeers <- Last <$> v .:? "SyncTargetNumberOfEstablishedBigLedgerPeers"
338344
pncSyncTargetOfActiveBigLedgerPeers <- Last <$> v .:? "SyncTargetNumberOfActiveBigLedgerPeers"
339-
pncSyncMinTrusted <- Last <$> v .:? "SyncMinNumberOfBigLedgerPeersForTrustedState"
345+
-- Minimum number of active big ledger peers we must be connected to
346+
-- in Genesis mode
347+
pncMinBigLedgerPeersForTrustedState <- Last <$> v .:? "MinBigLedgerPeersForTrustedState"
340348

341349
pncConsensusMode <- Last <$> v .:? "ConsensusMode"
342350

@@ -352,7 +360,7 @@ instance FromJSON PartialNodeConfiguration where
352360

353361
-- Peer Sharing
354362
-- DISABLED BY DEFAULT
355-
pncPeerSharing <- Last <$> v .:? "PeerSharing" .!= Just Configuration.PeerSharingDisabled
363+
pncPeerSharing <- Last <$> v .:? "PeerSharing"
356364

357365
pure PartialNodeConfiguration {
358366
pncProtocolConfig
@@ -391,7 +399,7 @@ instance FromJSON PartialNodeConfiguration where
391399
, pncSyncTargetOfKnownBigLedgerPeers
392400
, pncSyncTargetOfEstablishedBigLedgerPeers
393401
, pncSyncTargetOfActiveBigLedgerPeers
394-
, pncSyncMinTrusted
402+
, pncMinBigLedgerPeersForTrustedState
395403
, pncConsensusMode
396404
, pncEnableP2P
397405
, pncPeerSharing
@@ -574,10 +582,10 @@ defaultPartialNodeConfiguration =
574582
, pncSyncTargetOfKnownBigLedgerPeers = Last (Just syncBigKnown)
575583
, pncSyncTargetOfEstablishedBigLedgerPeers = Last (Just syncBigEst)
576584
, pncSyncTargetOfActiveBigLedgerPeers = Last (Just syncBigAct)
577-
, pncSyncMinTrusted = Last (Just defaultMinBigLedgerPeersForTrustedState)
578-
, pncConsensusMode = mempty
585+
, pncMinBigLedgerPeersForTrustedState = Last (Just defaultMinBigLedgerPeersForTrustedState)
586+
, pncConsensusMode = Last (Just defaultConsensusMode)
579587
, pncEnableP2P = Last (Just EnabledP2PMode)
580-
, pncPeerSharing = Last (Just Configuration.PeerSharingDisabled)
588+
, pncPeerSharing = Last (Just defaultPeerSharing)
581589
}
582590
where
583591
Configuration.PeerSelectionTargets {
@@ -648,9 +656,9 @@ makeNodeConfiguration pnc = do
648656
ncSyncTargetOfActiveBigLedgerPeers <-
649657
lastToEither "Missing SyncTargetNumberOfActiveBigLedgerPeers"
650658
$ pncSyncTargetOfActiveBigLedgerPeers pnc
651-
ncSyncMinTrusted <-
652-
lastToEither "Missing SyncMinNumberOfBigLedgerPeersForTrustedState"
653-
$ pncSyncMinTrusted pnc
659+
ncMinBigLedgerPeersForTrustedState <-
660+
lastToEither "Missing MinBigLedgerPeersForTrustedState"
661+
$ pncMinBigLedgerPeersForTrustedState pnc
654662
ncConsensusMode <-
655663
lastToEither "Missing ConsensusMode"
656664
$ pncConsensusMode pnc
@@ -724,7 +732,7 @@ makeNodeConfiguration pnc = do
724732
, ncSyncTargetOfKnownBigLedgerPeers
725733
, ncSyncTargetOfEstablishedBigLedgerPeers
726734
, ncSyncTargetOfActiveBigLedgerPeers
727-
, ncSyncMinTrusted
735+
, ncMinBigLedgerPeersForTrustedState
728736
, ncEnableP2P = case enableP2P of
729737
EnabledP2PMode -> SomeNetworkP2PMode Consensus.EnabledP2PMode
730738
DisabledP2PMode -> SomeNetworkP2PMode Consensus.DisabledP2PMode

cardano-node/src/Cardano/Node/Parsers.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ nodeRunParser = do
129129
, pncSyncTargetOfKnownBigLedgerPeers = mempty
130130
, pncSyncTargetOfEstablishedBigLedgerPeers = mempty
131131
, pncSyncTargetOfActiveBigLedgerPeers = mempty
132-
, pncSyncMinTrusted = mempty
132+
, pncMinBigLedgerPeersForTrustedState = mempty
133133
, pncConsensusMode = mempty
134134
, pncEnableP2P = mempty
135135
, pncPeerSharing = mempty

cardano-node/src/Cardano/Node/Run.hs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -902,7 +902,7 @@ mkP2PArguments NodeConfiguration {
902902
ncSyncTargetOfKnownBigLedgerPeers,
903903
ncSyncTargetOfEstablishedBigLedgerPeers,
904904
ncSyncTargetOfActiveBigLedgerPeers,
905-
ncSyncMinTrusted,
905+
ncMinBigLedgerPeersForTrustedState,
906906
ncProtocolIdleTimeout,
907907
ncTimeWaitTimeout,
908908
ncPeerSharing,
@@ -928,7 +928,7 @@ mkP2PArguments NodeConfiguration {
928928
, P2P.daBulkChurnInterval = Configuration.defaultBulkChurnInterval
929929
, P2P.daOwnPeerSharing = ncPeerSharing
930930
, P2P.daConsensusMode = ncConsensusMode
931-
, P2P.daMinBigLedgerPeersForTrustedState = ncSyncMinTrusted
931+
, P2P.daMinBigLedgerPeersForTrustedState = ncMinBigLedgerPeersForTrustedState
932932
}
933933
where
934934
deadlineTargets = Configuration.defaultDeadlineTargets {

cardano-node/src/Cardano/Node/Tracing/Tracers/P2P.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -784,7 +784,7 @@ instance MetaTrace (TracePeerSelection SockAddr) where
784784
documentFor (Namespace [] ["DebugState"]) = Just
785785
"peer selection internal state"
786786
documentFor (Namespace [] ["VerifyPeerSnapshot"]) = Just
787-
"Big ledger peer snapshot file failed integrity check against the ledger"
787+
"Verification outcome of big ledger peer snapshot"
788788
documentFor _ = Nothing
789789

790790
metricsDocFor (Namespace [] ["ChurnAction"]) =

cardano-node/test/Test/Cardano/Node/POM.hs

Lines changed: 39 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -136,20 +136,21 @@ testPartialYamlConfig =
136136
, pncTimeWaitTimeout = mempty
137137
, pncChainSyncIdleTimeout = mempty
138138
, pncAcceptedConnectionsLimit = mempty
139-
, pncTargetNumberOfRootPeers = mempty
140-
, pncTargetNumberOfKnownPeers = mempty
141-
, pncTargetNumberOfEstablishedPeers = mempty
142-
, pncTargetNumberOfActivePeers = mempty
143-
, pncTargetNumberOfKnownBigLedgerPeers = mempty
144-
, pncTargetNumberOfEstablishedBigLedgerPeers = mempty
145-
, pncTargetNumberOfActiveBigLedgerPeers = mempty
146-
, pncGenesisTargetNumberOfActivePeers = mempty
147-
, pncGenesisTargetNumberOfKnownBigLedgerPeers = mempty
148-
, pncGenesisTargetNumberOfEstablishedBigLedgerPeers = mempty
149-
, pncGenesisTargetNumberOfActiveBigLedgerPeers = mempty
139+
, pncDeadlineTargetOfRootPeers = mempty
140+
, pncDeadlineTargetOfKnownPeers = mempty
141+
, pncDeadlineTargetOfEstablishedPeers = mempty
142+
, pncDeadlineTargetOfActivePeers = mempty
143+
, pncDeadlineTargetOfKnownBigLedgerPeers = mempty
144+
, pncDeadlineTargetOfEstablishedBigLedgerPeers = mempty
145+
, pncDeadlineTargetOfActiveBigLedgerPeers = mempty
146+
, pncSyncTargetNumberOfActivePeers = mempty
147+
, pncSyncTargetNumberOfKnownBigLedgerPeers = mempty
148+
, pncSyncTargetNumberOfEstablishedBigLedgerPeers = mempty
149+
, pncSyncTargetNumberOfActiveBigLedgerPeers = mempty
150+
, pncMinBigLedgerPeersForTrustedState = mempty
150151
, pncEnableP2P = Last (Just DisabledP2PMode)
151152
, pncPeerSharing = Last (Just PeerSharingDisabled)
152-
, pncConsensusMode = Last (Just PraosMode)
153+
, pncConsensusMode = mempty
153154
}
154155

155156
-- | Example partial configuration theoretically created
@@ -182,20 +183,21 @@ testPartialCliConfig =
182183
, pncTimeWaitTimeout = mempty
183184
, pncChainSyncIdleTimeout = mempty
184185
, pncAcceptedConnectionsLimit = mempty
185-
, pncTargetNumberOfRootPeers = mempty
186-
, pncTargetNumberOfKnownPeers = mempty
187-
, pncTargetNumberOfEstablishedPeers = mempty
188-
, pncTargetNumberOfActivePeers = mempty
189-
, pncTargetNumberOfKnownBigLedgerPeers = mempty
190-
, pncTargetNumberOfEstablishedBigLedgerPeers = mempty
191-
, pncTargetNumberOfActiveBigLedgerPeers = mempty
192-
, pncGenesisTargetNumberOfActivePeers = mempty
193-
, pncGenesisTargetNumberOfKnownBigLedgerPeers = mempty
194-
, pncGenesisTargetNumberOfEstablishedBigLedgerPeers = mempty
195-
, pncGenesisTargetNumberOfActiveBigLedgerPeers = mempty
186+
, pncDeadlineTargetNumberOfRootPeers = mempty
187+
, pncDeadlineTargetNumberOfKnownPeers = mempty
188+
, pncDeadlineTargetNumberOfEstablishedPeers = mempty
189+
, pncDeadlineTargetNumberOfActivePeers = mempty
190+
, pncDeadlineTargetNumberOfKnownBigLedgerPeers = mempty
191+
, pncDeadlineTargetNumberOfEstablishedBigLedgerPeers = mempty
192+
, pncDeadlineTargetNumberOfActiveBigLedgerPeers = mempty
193+
, pncSyncTargetNumberOfActivePeers = mempty
194+
, pncSyncTargetNumberOfKnownBigLedgerPeers = mempty
195+
, pncSyncTargetNumberOfEstablishedBigLedgerPeers = mempty
196+
, pncSyncTargetNumberOfActiveBigLedgerPeers = mempty
197+
, pncMinBigLedgerPeersForTrustedState = Last (Just defaultMinBigLedgerPeersForTrustedState)
196198
, pncEnableP2P = Last (Just DisabledP2PMode)
197199
, pncPeerSharing = Last (Just PeerSharingDisabled)
198-
, pncConsensusMode = Last (Just GenesisMode)
200+
, pncConsensusMode = Last (Just PraosMode)
199201
}
200202

201203
-- | Expected final NodeConfiguration
@@ -234,20 +236,21 @@ eExpectedConfig = do
234236
, acceptedConnectionsSoftLimit = 384
235237
, acceptedConnectionsDelay = 5
236238
}
237-
, ncTargetNumberOfRootPeers = 60
238-
, ncTargetNumberOfKnownPeers = 85
239-
, ncTargetNumberOfEstablishedPeers = 40
240-
, ncTargetNumberOfActivePeers = 15
241-
, ncTargetNumberOfKnownBigLedgerPeers = 15
242-
, ncTargetNumberOfEstablishedBigLedgerPeers = 10
243-
, ncTargetNumberOfActiveBigLedgerPeers = 5
244-
, ncGenesisTargetNumberOfActivePeers = 0
245-
, ncGenesisTargetNumberOfKnownBigLedgerPeers = 100
246-
, ncGenesisTargetNumberOfEstablishedBigLedgerPeers = 50
247-
, ncGenesisTargetNumberOfActiveBigLedgerPeers = 30
239+
, ncDeadlineTargetNumberOfRootPeers = 60
240+
, ncDeadlineTargetNumberOfKnownPeers = 85
241+
, ncDeadlineTargetNumberOfEstablishedPeers = 40
242+
, ncDeadlineTargetNumberOfActivePeers = 15
243+
, ncDeadlineTargetNumberOfKnownBigLedgerPeers = 15
244+
, ncDeadlineTargetNumberOfEstablishedBigLedgerPeers = 10
245+
, ncDeadlineTargetNumberOfActiveBigLedgerPeers = 5
246+
, ncSyncTargetNumberOfActivePeers = 0
247+
, ncSyncTargetNumberOfKnownBigLedgerPeers = 100
248+
, ncSyncTargetNumberOfEstablishedBigLedgerPeers = 50
249+
, ncSyncTargetNumberOfActiveBigLedgerPeers = 30
250+
, ncMinBigLedgerPeersForTrustedState = defaultMinBigLedgerPeersForTrustedState
248251
, ncEnableP2P = SomeNetworkP2PMode Consensus.DisabledP2PMode
249252
, ncPeerSharing = PeerSharingDisabled
250-
, ncConsensusMode = GenesisMode
253+
, ncConsensusMode = PraosMode
251254
}
252255

253256
-- -----------------------------------------------------------------------------

0 commit comments

Comments
 (0)