Skip to content

Commit

Permalink
Integrate ouroboros-network changes
Browse files Browse the repository at this point in the history
  • Loading branch information
dnadales authored and coot committed May 8, 2024
1 parent d93f629 commit 2fc4bb5
Show file tree
Hide file tree
Showing 18 changed files with 475 additions and 144 deletions.
2 changes: 1 addition & 1 deletion bench/locli/locli.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ library
, optparse-generic
, ouroboros-consensus
-- for Data.SOP.Strict:
, ouroboros-network ^>= 0.13
, ouroboros-network ^>= 0.16
, ouroboros-network-api
, process
, quiet
Expand Down
14 changes: 13 additions & 1 deletion cabal.project
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ repository cardano-haskell-packages
-- you need to run if you change them
index-state:
, hackage.haskell.org 2024-03-26T06:28:59Z
, cardano-haskell-packages 2024-04-05T07:51:28Z
, cardano-haskell-packages 2024-05-07T20:35:20Z

packages:
cardano-node
Expand Down Expand Up @@ -59,3 +59,15 @@ package plutus-scripts-bench
-- temporary! Please read the section in CONTRIBUTING about updating dependencies.

-- `smtp-mail` should depend on `crypton-connection` rather than `connection`!

source-repository-package
type: git
location: https://github.com/IntersectMBO/ouroboros-consensus
--sha256: sha256-EgKQKAi07afCEktw5FVMiHDaDxE2BIIKtaN1kirdELU=
tag: b2a6e27303d5f3adf60de1e728ca986b41ac7165
subdir: ouroboros-consensus-diffusion
ouroboros-consensus
ouroboros-consensus-cardano
ouroboros-consensus-protocol
sop-extras
strict-sop-core
8 changes: 4 additions & 4 deletions cardano-node/cardano-node.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -185,12 +185,12 @@ library
, optparse-applicative-fork >= 0.18.1
, ouroboros-consensus ^>= 0.17
, ouroboros-consensus-cardano ^>= 0.15
, ouroboros-consensus-diffusion ^>= 0.13
, ouroboros-consensus-diffusion ^>= 0.15
, ouroboros-consensus-protocol
, ouroboros-network-api ^>= 0.7.1
, ouroboros-network ^>= 0.13
, ouroboros-network-api ^>= 0.7.2
, ouroboros-network ^>= 0.16
, ouroboros-network-framework
, ouroboros-network-protocols ^>= 0.8
, ouroboros-network-protocols ^>= 0.8.1
, prettyprinter
, prettyprinter-ansi-terminal
, psqueues
Expand Down
33 changes: 20 additions & 13 deletions cardano-node/src/Cardano/Node/Configuration/POM.hs
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ import Ouroboros.Consensus.Mempool (MempoolCapacityBytes (..),
import qualified Ouroboros.Consensus.Node as Consensus (NetworkP2PMode (..))
import Ouroboros.Consensus.Storage.LedgerDB.DiskPolicy (NumOfDiskSnapshots (..),
SnapshotInterval (..))
import qualified Ouroboros.Network.Diffusion.Configuration as Diffusion
import Ouroboros.Network.NodeToNode (AcceptedConnectionsLimit (..), DiffusionMode (..))
import Ouroboros.Network.PeerSelection.PeerSharing (PeerSharing (..))

Expand Down Expand Up @@ -516,21 +517,27 @@ defaultPartialNodeConfiguration =
, pncAcceptedConnectionsLimit =
Last
$ Just
$ AcceptedConnectionsLimit
{ acceptedConnectionsHardLimit = 512
, acceptedConnectionsSoftLimit = 384
, acceptedConnectionsDelay = 5
}
, pncTargetNumberOfRootPeers = Last (Just 85)
, pncTargetNumberOfKnownPeers = Last (Just 85)
, pncTargetNumberOfEstablishedPeers = Last (Just 40)
, pncTargetNumberOfActivePeers = Last (Just 15)
$ Diffusion.defaultAcceptedConnectionsLimit

-- peer selection targets
, pncTargetNumberOfRootPeers =
Last (Just (targetNumberOfRootPeers Diffusion.defaultPeerSelectionTargets))
, pncTargetNumberOfKnownPeers =
Last (Just (targetNumberOfKnownPeers Diffusion.defaultPeerSelectionTargets))
, pncTargetNumberOfEstablishedPeers =
Last (Just (targetNumberOfEstablishedPeers Diffusion.defaultPeerSelectionTargets))
, pncTargetNumberOfActivePeers =
Last (Just (targetNumberOfActivePeers Diffusion.defaultPeerSelectionTargets))
, pncTargetNumberOfKnownBigLedgerPeers =
Last (Just (targetNumberOfKnownBigLedgerPeers Diffusion.defaultPeerSelectionTargets))
, pncTargetNumberOfEstablishedBigLedgerPeers =
Last (Just (targetNumberOfEstablishedBigLedgerPeers Diffusion.defaultPeerSelectionTargets))
, pncTargetNumberOfActiveBigLedgerPeers =
Last (Just (targetNumberOfActiveBigLedgerPeers Diffusion.defaultPeerSelectionTargets))

, pncChainSyncIdleTimeout = mempty
, pncTargetNumberOfKnownBigLedgerPeers = Last (Just 15)
, pncTargetNumberOfEstablishedBigLedgerPeers = Last (Just 10)
, pncTargetNumberOfActiveBigLedgerPeers = Last (Just 5)
, pncEnableP2P = Last (Just EnabledP2PMode)
, pncPeerSharing = Last (Just PeerSharingDisabled)
, pncPeerSharing = Last (Just Diffusion.defaultPeerSharing)
}

lastOption :: Parser a -> Parser (Last a)
Expand Down
6 changes: 4 additions & 2 deletions cardano-node/src/Cardano/Node/Run.hs
Original file line number Diff line number Diff line change
Expand Up @@ -374,8 +374,9 @@ handleSimpleNode blockType runP p2pMode tracers nc onKernel = do

dbPath <- canonDbPath nc

let diffusionArguments :: Diffusion.Arguments Socket RemoteAddress
LocalSocket LocalAddress
publicPeerSelectionVar <- Diffusion.makePublicPeerSelectionStateVar
let diffusionArguments :: Diffusion.Arguments IO Socket RemoteAddress
LocalSocket LocalAddress
diffusionArguments =
Diffusion.Arguments {
Diffusion.daIPv4Address =
Expand All @@ -395,6 +396,7 @@ handleSimpleNode blockType runP p2pMode tracers nc onKernel = do
Nothing -> Nothing
, Diffusion.daAcceptedConnectionsLimit = ncAcceptedConnectionsLimit nc
, Diffusion.daMode = ncDiffusionMode nc
, Diffusion.daPublicPeerSelectionVar = publicPeerSelectionVar
}

ipv4 <- traverse getSocketOrSocketInfoAddr publicIPv4SocketOrAddr
Expand Down
2 changes: 1 addition & 1 deletion cardano-node/src/Cardano/Node/Tracing/Consistency.hs
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ import qualified Ouroboros.Network.NodeToClient as NtC
import Ouroboros.Network.NodeToNode (ErrorPolicyTrace (..), RemoteAddress, WithAddr (..))
import qualified Ouroboros.Network.NodeToNode as NtN
import Ouroboros.Network.PeerSelection.Governor (DebugPeerSelection (..),
PeerSelectionCounters (..), TracePeerSelection (..))
PeerSelectionCounters, TracePeerSelection (..))
import Ouroboros.Network.PeerSelection.LedgerPeers (TraceLedgerPeers)
import Ouroboros.Network.PeerSelection.PeerStateActions (PeerSelectionActionsTrace (..))
import Ouroboros.Network.PeerSelection.RootPeersDNS.LocalRootPeers
Expand Down
2 changes: 1 addition & 1 deletion cardano-node/src/Cardano/Node/Tracing/Documentation.hs
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ import qualified Ouroboros.Network.NodeToClient as NtC
import Ouroboros.Network.NodeToNode (ErrorPolicyTrace (..), RemoteAddress, WithAddr (..))
import qualified Ouroboros.Network.NodeToNode as NtN
import Ouroboros.Network.PeerSelection.Governor (DebugPeerSelection (..),
PeerSelectionCounters (..), TracePeerSelection (..))
PeerSelectionCounters, TracePeerSelection (..))
import Ouroboros.Network.PeerSelection.LedgerPeers (TraceLedgerPeers)
import Ouroboros.Network.PeerSelection.PeerStateActions (PeerSelectionActionsTrace (..))
import Ouroboros.Network.PeerSelection.RootPeersDNS.LocalRootPeers
Expand Down
7 changes: 7 additions & 0 deletions cardano-node/src/Cardano/Node/Tracing/Tracers.hs
Original file line number Diff line number Diff line change
Expand Up @@ -539,6 +539,11 @@ mkDiffusionTracersExtra configReflection trBase trForward mbTrEKG _trDataPoint t
["Net", "PeerSelection"]
configureTracers configReflection trConfig [peerSelectionCountersTr]

!churnCountersTr <- mkCardanoTracer
trBase trForward mbTrEKG
["Net", "Churn"]
configureTracers configReflection trConfig [churnCountersTr]

!peerSelectionActionsTr <- mkCardanoTracer
trBase trForward mbTrEKG
["Net", "PeerSelection", "Actions"]
Expand Down Expand Up @@ -602,6 +607,8 @@ mkDiffusionTracersExtra configReflection trBase trForward mbTrEKG _trDataPoint t
traceWith debugPeerSelectionResponderTr
, P2P.dtTracePeerSelectionCounters = Tracer $
traceWith peerSelectionCountersTr
, P2P.dtTraceChurnCounters = Tracer $
traceWith churnCountersTr
, P2P.dtPeerSelectionActionsTracer = Tracer $
traceWith peerSelectionActionsTr
, P2P.dtConnectionManagerTracer = Tracer $
Expand Down

0 comments on commit 2fc4bb5

Please sign in to comment.