Skip to content

Commit

Permalink
peer-selection: churn big ledger peers
Browse files Browse the repository at this point in the history
  • Loading branch information
coot committed Jun 2, 2023
1 parent b5a6f8f commit e035a55
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 6 deletions.
4 changes: 3 additions & 1 deletion ouroboros-network/src/Ouroboros/Network/Diffusion/P2P.hs
Expand Up @@ -839,7 +839,9 @@ runM Interfaces
-- Start with a smaller number of active peers, the churn governor will increase
-- it to the configured value after a delay.
targetNumberOfActivePeers =
min 2 (targetNumberOfActivePeers daPeerSelectionTargets)
min 1 (targetNumberOfActivePeers daPeerSelectionTargets),
targetNumberOfActiveBigLedgerPeers =
min 1 (targetNumberOfActiveBigLedgerPeers daPeerSelectionTargets)
}


Expand Down
22 changes: 17 additions & 5 deletions ouroboros-network/src/Ouroboros/Network/PeerSelection/Churn.hs
Expand Up @@ -79,7 +79,9 @@ peerChurnGovernor tracer deadlineChurnInterval bulkChurnInterval
ChurnModeNormal ->
targetNumberOfActivePeers base
ChurnModeBulkSync ->
min 2 (targetNumberOfActivePeers base)
min 2 (targetNumberOfActivePeers base),
targetNumberOfActiveBigLedgerPeers =
targetNumberOfActiveBigLedgerPeers base
})

decreaseActivePeers :: ChurnMode -> STM m ()
Expand All @@ -90,7 +92,9 @@ peerChurnGovernor tracer deadlineChurnInterval bulkChurnInterval
ChurnModeNormal ->
decrease $ targetNumberOfActivePeers base
ChurnModeBulkSync ->
min 1 (targetNumberOfActivePeers base - 1)
min 1 (targetNumberOfActivePeers base - 1),
targetNumberOfActiveBigLedgerPeers =
decrease $ targetNumberOfActiveBigLedgerPeers base
})


Expand All @@ -115,10 +119,16 @@ peerChurnGovernor tracer deadlineChurnInterval bulkChurnInterval

-- Forget the worst performing non-active peers.
atomically $ modifyTVar peerSelectionVar (\targets -> targets {
targetNumberOfRootPeers = decrease (targetNumberOfRootPeers base)
, targetNumberOfKnownPeers = decrease (targetNumberOfKnownPeers base)
targetNumberOfRootPeers =
decrease (targetNumberOfRootPeers base)
, targetNumberOfKnownPeers =
decrease (targetNumberOfKnownPeers base)
, targetNumberOfEstablishedPeers =
decrease (targetNumberOfEstablishedPeers base)
decrease (targetNumberOfEstablishedPeers base)
, targetNumberOfKnownBigLedgerPeers =
decrease (targetNumberOfKnownBigLedgerPeers base)
, targetNumberOfEstablishedBigLedgerPeers =
decrease (targetNumberOfEstablishedBigLedgerPeers base)
})

-- Give the governor time to properly demote them.
Expand All @@ -129,6 +139,8 @@ peerChurnGovernor tracer deadlineChurnInterval bulkChurnInterval
targetNumberOfRootPeers = targetNumberOfRootPeers base
, targetNumberOfKnownPeers = targetNumberOfKnownPeers base
, targetNumberOfEstablishedPeers = targetNumberOfEstablishedPeers base
, targetNumberOfKnownBigLedgerPeers = targetNumberOfKnownBigLedgerPeers base
, targetNumberOfEstablishedBigLedgerPeers = targetNumberOfEstablishedBigLedgerPeers base
})
endTs <- getMonotonicTime

Expand Down

0 comments on commit e035a55

Please sign in to comment.