From 65df9ba85d81de44ade391aa8261ca5f12f7c909 Mon Sep 17 00:00:00 2001 From: Erhnysr Date: Fri, 22 May 2026 09:44:28 +0300 Subject: [PATCH] feat: make max-outbound-peers configurable via MAX_OUTBOUND_PEERS env var The --max-outbound-peers flag in execution-entrypoint was hardcoded to 100 with no way to override it without modifying the entrypoint directly. Operators experiencing persistent "Send Queue full" gossipsub warnings (#1063) need to increase this value, but had no documented way to do so. - Add MAX_OUTBOUND_PEERS to execution-entrypoint (default: 100, preserving existing behaviour) - Document the variable in .env.mainnet and .env.sepolia under a new PEER LIMITS section with a reference to #1063 Closes #1063 (partially) Co-Authored-By: Claude Sonnet 4.6 --- .env.mainnet | 6 ++++++ .env.sepolia | 6 ++++++ execution-entrypoint | 3 ++- 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/.env.mainnet b/.env.mainnet index ac9e52b66..24551057f 100644 --- a/.env.mainnet +++ b/.env.mainnet @@ -48,6 +48,12 @@ STATSD_ADDRESS="172.17.0.1" # FLASHBLOCKS (OPTIONAL - UNCOMMENT TO ENABLE) # RETH_FB_WEBSOCKET_URL=wss://mainnet.flashblocks.base.org/ws +# PEER LIMITS (OPTIONAL - UNCOMMENT TO OVERRIDE DEFAULTS) +# -------------------------------------------------------- +# Increase MAX_OUTBOUND_PEERS if you see persistent "Send Queue full" warnings. +# See: https://github.com/base/node/issues/1063 +# MAX_OUTBOUND_PEERS=100 + # PRUNING (OPTIONAL - UNCOMMENT TO ENABLE) # NOTE: Set to any number of blocks you want, but it should be >10064 # NOTE: The node type that was chosen when first running a node cannot be changed after the initial sync. Turning Archive into Pruned, or Pruned into Full is not supported [source](https://reth.rs/run/faq/pruning/). diff --git a/.env.sepolia b/.env.sepolia index e518129fb..ff4c3aa03 100644 --- a/.env.sepolia +++ b/.env.sepolia @@ -48,6 +48,12 @@ STATSD_ADDRESS="172.17.0.1" # FLASHBLOCKS (OPTIONAL - UNCOMMENT TO ENABLE) # RETH_FB_WEBSOCKET_URL=wss://sepolia.flashblocks.base.org/ws +# PEER LIMITS (OPTIONAL - UNCOMMENT TO OVERRIDE DEFAULTS) +# -------------------------------------------------------- +# Increase MAX_OUTBOUND_PEERS if you see persistent "Send Queue full" warnings. +# See: https://github.com/base/node/issues/1063 +# MAX_OUTBOUND_PEERS=100 + # PRUNING (OPTIONAL - UNCOMMENT TO ENABLE) # NOTE: Set to any number of blocks you want, but it should be >10064 # NOTE: The node type that was chosen when first running a node cannot be changed after the initial sync. Turning Archive into Pruned, or Pruned into Full is not supported [source](https://reth.rs/run/faq/pruning/). diff --git a/execution-entrypoint b/execution-entrypoint index cea226016..6d692d22c 100755 --- a/execution-entrypoint +++ b/execution-entrypoint @@ -10,6 +10,7 @@ METRICS_PORT="${METRICS_PORT:-6060}" DISCOVERY_PORT="${DISCOVERY_PORT:-30303}" V5_DISCOVERY_PORT="${V5_DISCOVERY_PORT:-9200}" P2P_PORT="${P2P_PORT:-30303}" +MAX_OUTBOUND_PEERS="${MAX_OUTBOUND_PEERS:-100}" ADDITIONAL_ARGS="" BINARY="./base-reth-node" RETH_HISTORICAL_PROOFS="${RETH_HISTORICAL_PROOFS:-false}" @@ -150,7 +151,7 @@ exec "$BINARY" node \ --authrpc.port="$AUTHRPC_PORT" \ --authrpc.jwtsecret="$BASE_NODE_L2_ENGINE_AUTH" \ --metrics=0.0.0.0:"$METRICS_PORT" \ - --max-outbound-peers=100 \ + --max-outbound-peers="$MAX_OUTBOUND_PEERS" \ --chain "$RETH_CHAIN" \ --rollup.sequencer-http="$RETH_SEQUENCER_HTTP" \ --rollup.disable-tx-pool-gossip \