Skip to content

Commit 14f01da

Browse files
authored
Merge pull request #6192 from IntersectMBO/coot/responder-core-affinity-policy
renamed ForkPolicy configuration option as ResponderCoreAffinityPolicy
2 parents 5799767 + 7a01a4b commit 14f01da

File tree

4 files changed

+27
-22
lines changed

4 files changed

+27
-22
lines changed

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

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
module Cardano.Node.Configuration.POM
1414
( NodeConfiguration (..)
15-
, NCForkPolicy (..)
15+
, ResponderCoreAffinityPolicy (..)
1616
, NetworkP2PMode (..)
1717
, SomeNetworkP2PMode (..)
1818
, PartialNodeConfiguration(..)
@@ -51,7 +51,7 @@ import Ouroboros.Consensus.Storage.LedgerDB.Snapshots (NumOfDiskSnapsh
5151
import Ouroboros.Consensus.Storage.LedgerDB.V1.Args (FlushFrequency (..))
5252
import Ouroboros.Network.Diffusion.Configuration as Configuration
5353
import qualified Ouroboros.Network.Diffusion.Configuration as Ouroboros
54-
import Ouroboros.Network.Mux (ForkPolicy, noBindForkPolicy, responderForkPolicy)
54+
import qualified Ouroboros.Network.Mux as Mux
5555
import qualified Ouroboros.Network.PeerSelection.Governor as PeerSelection
5656

5757
import Control.Concurrent (getNumCapabilities)
@@ -199,20 +199,22 @@ data NodeConfiguration
199199
-- Ouroboros Genesis
200200
, ncGenesisConfig :: GenesisConfig
201201

202-
, ncForkPolicy :: NCForkPolicy
202+
, ncResponderCoreAffinityPolicy :: ResponderCoreAffinityPolicy
203203
} deriving (Eq, Show)
204204

205205
-- | We expose the `Ouroboros.Network.Mux.ForkPolicy` as a `NodeConfiguration` field.
206-
-- * `NoBindForkPolicy` corresponds to `Ouroboros.Network.Mux.noBindForkPolicy`
207-
-- * `ResponderForkPolicy` corresponds to `Ouroboros.Network.Mux.responderForkPolicy`
208-
-- with a `randomIO` generated salt and `getNumCapabilities`
209-
data NCForkPolicy = NoBindForkPolicy | ResponderForkPolicy deriving (Eq, Show, Generic, FromJSON)
206+
--
207+
-- * `NoResponderCoreAffinity` corresponds to `Ouroboros.Network.Mux.noBindForkPolicy`
208+
-- * `ResponderCoreAffinity` corresponds to `Ouroboros.Network.Mux.responderForkPolicy`
209+
-- with a `randomIO` generated salt and `getNumCapabilities`.
210+
--
211+
data ResponderCoreAffinityPolicy = NoResponderCoreAffinity | ResponderCoreAffinity deriving (Eq, Show, Generic, FromJSON)
210212

211213
-- | Convert `NCForkPolicy` to a `Ouroboros.Network.Mux.ForkPolicy`
212-
getForkPolicy :: Hashable peerAddr => NCForkPolicy -> IO (ForkPolicy peerAddr)
214+
getForkPolicy :: Hashable peerAddr => ResponderCoreAffinityPolicy -> IO (Mux.ForkPolicy peerAddr)
213215
getForkPolicy = \case
214-
NoBindForkPolicy -> pure noBindForkPolicy
215-
ResponderForkPolicy -> responderForkPolicy <$> randomIO <*> getNumCapabilities
216+
NoResponderCoreAffinity -> pure Mux.noBindForkPolicy
217+
ResponderCoreAffinity -> Mux.responderForkPolicy <$> randomIO <*> getNumCapabilities
216218

217219
data PartialNodeConfiguration
218220
= PartialNodeConfiguration
@@ -291,7 +293,7 @@ data PartialNodeConfiguration
291293
-- Ouroboros Genesis
292294
, pncGenesisConfigFlags :: !(Last GenesisConfigFlags)
293295

294-
, pncForkPolicy :: !(Last NCForkPolicy)
296+
, pncResponderCoreAffinityPolicy :: !(Last ResponderCoreAffinityPolicy)
295297
} deriving (Eq, Generic, Show)
296298

297299
instance AdjustFilePaths PartialNodeConfiguration where
@@ -402,7 +404,10 @@ instance FromJSON PartialNodeConfiguration where
402404
-- pncConsensusMode determines whether Genesis is enabled in the first place.
403405
pncGenesisConfigFlags <- Last <$> v .:? "LowLevelGenesisOptions"
404406

405-
pncForkPolicy <- Last <$> v .:? "ForkPolicy"
407+
pncResponderCoreAffinityPolicy <-
408+
(\a b -> Last a <> Last b)
409+
<$> v .:? "ResponderCoreAffinityPolicy"
410+
<*> v .:? "ForkPolicy" -- deprecated
406411

407412
pure PartialNodeConfiguration {
408413
pncProtocolConfig
@@ -445,7 +450,7 @@ instance FromJSON PartialNodeConfiguration where
445450
, pncEnableP2P
446451
, pncPeerSharing
447452
, pncGenesisConfigFlags
448-
, pncForkPolicy
453+
, pncResponderCoreAffinityPolicy
449454
}
450455
where
451456
parseMempoolCapacityBytesOverride v = parseNoOverride <|> parseOverride
@@ -682,7 +687,7 @@ defaultPartialNodeConfiguration =
682687
, pncEnableP2P = Last (Just EnabledP2PMode)
683688
, pncPeerSharing = Last (Just Ouroboros.defaultPeerSharing)
684689
, pncGenesisConfigFlags = Last (Just defaultGenesisConfigFlags)
685-
, pncForkPolicy = Last $ Just NoBindForkPolicy
690+
, pncResponderCoreAffinityPolicy = Last $ Just NoResponderCoreAffinity
686691
}
687692
where
688693
PeerSelectionTargets {
@@ -792,7 +797,7 @@ makeNodeConfiguration pnc = do
792797
$ pncGenesisConfigFlags pnc
793798
let ncGenesisConfig = mkGenesisConfig mGenesisConfigFlags
794799

795-
ncForkPolicy <- lastToEither "Missing ForkPolicy" $ pncForkPolicy pnc
800+
ncResponderCoreAffinityPolicy <- lastToEither "Missing ResponderCoreAffinityPolicy" $ pncResponderCoreAffinityPolicy pnc
796801

797802
let deadlineTargets =
798803
PeerSelectionTargets {
@@ -874,7 +879,7 @@ makeNodeConfiguration pnc = do
874879
, ncPeerSharing
875880
, ncConsensusMode
876881
, ncGenesisConfig
877-
, ncForkPolicy
882+
, ncResponderCoreAffinityPolicy
878883
}
879884

880885
ncProtocol :: NodeConfiguration -> Protocol

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,7 @@ nodeRunParser = do
128128
, pncEnableP2P = mempty
129129
, pncPeerSharing = mempty
130130
, pncGenesisConfigFlags = mempty
131-
, pncForkPolicy = mempty
131+
, pncResponderCoreAffinityPolicy = mempty
132132
}
133133

134134
parseSocketPath :: Text -> Parser SocketPath

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -537,8 +537,8 @@ handleSimpleNode blockType runP p2pMode tracers nc onKernel = do
537537
)
538538
Nothing
539539
#endif
540-
nForkPolicy <- getForkPolicy $ ncForkPolicy nc
541-
cForkPolicy <- getForkPolicy $ ncForkPolicy nc
540+
nForkPolicy <- getForkPolicy $ ncResponderCoreAffinityPolicy nc
541+
cForkPolicy <- getForkPolicy $ ncResponderCoreAffinityPolicy nc
542542
void $
543543
let diffusionArgumentsExtra =
544544
mkP2PArguments nForkPolicy cForkPolicy nc

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ testPartialYamlConfig =
164164
, pncPeerSharing = Last (Just PeerSharingDisabled)
165165
, pncConsensusMode = mempty
166166
, pncGenesisConfigFlags = mempty
167-
, pncForkPolicy = mempty
167+
, pncResponderCoreAffinityPolicy = mempty
168168
, pncLedgerDbConfig = mempty
169169
, pncEgressPollInterval = mempty
170170
}
@@ -212,7 +212,7 @@ testPartialCliConfig =
212212
, pncPeerSharing = Last (Just PeerSharingDisabled)
213213
, pncConsensusMode = Last (Just PraosMode)
214214
, pncGenesisConfigFlags = mempty
215-
, pncForkPolicy = mempty
215+
, pncResponderCoreAffinityPolicy = mempty
216216
, pncLedgerDbConfig = mempty
217217
, pncEgressPollInterval = mempty
218218
}
@@ -267,7 +267,7 @@ eExpectedConfig = do
267267
, ncPeerSharing = PeerSharingDisabled
268268
, ncConsensusMode = PraosMode
269269
, ncGenesisConfig = disableGenesisConfig
270-
, ncForkPolicy = NoBindForkPolicy
270+
, ncResponderCoreAffinityPolicy = NoResponderCoreAffinity
271271
, ncLedgerDbConfig = LedgerDbConfiguration DefaultNumOfDiskSnapshots DefaultSnapshotInterval DefaultQueryBatchSize V2InMemory noDeprecatedOptions
272272
}
273273

0 commit comments

Comments
 (0)