Revise data column rpc limits and queue sizes (#7887)

Revise data column rpc limits and queue sizes. Also removed some outdated TODOs for Fulu / das.
This commit is contained in:
Jimmy Chen
2025-08-19 13:48:08 +10:00
committed by GitHub
parent 1fd7ead010
commit 34dd1b27ae
7 changed files with 7 additions and 27 deletions

View File

@@ -92,7 +92,6 @@ impl<T: BeaconChainTypes> BeaconChain<T> {
missing_methods.push_str(ENGINE_GET_PAYLOAD_V5);
all_good = false;
}
// TODO(fulu) switch to v5 when the EL is ready
if !capabilities.new_payload_v4 {
missing_methods.push(' ');
missing_methods.push_str(ENGINE_NEW_PAYLOAD_V4);

View File

@@ -178,8 +178,9 @@ impl BeaconProcessorQueueLengths {
unknown_light_client_update_queue: 128,
rpc_block_queue: 1024,
rpc_blob_queue: 1024,
// TODO(das): Placeholder values
rpc_custody_column_queue: 1000,
// We don't request more than `PARENT_DEPTH_TOLERANCE` (32) lookups, so we can limit
// this queue size. With 48 max blobs per block, each column sidecar list could be up to 12MB.
rpc_custody_column_queue: 64,
column_reconstruction_queue: 64,
chain_segment_queue: 64,
backfill_chain_segment: 64,
@@ -192,7 +193,6 @@ impl BeaconProcessorQueueLengths {
bbroots_queue: 1024,
blbroots_queue: 1024,
blbrange_queue: 1024,
// TODO(das): pick proper values
dcbroots_queue: 1024,
dcbrange_queue: 1024,
gossip_bls_to_execution_change_queue: 16384,

View File

@@ -845,7 +845,6 @@ impl HttpJsonRpc {
Ok(response.into())
}
// TODO(fulu): switch to v5 endpoint when the EL is ready for Fulu
pub async fn new_payload_v4_fulu<E: EthSpec>(
&self,
new_payload_request_fulu: NewPayloadRequestFulu<'_, E>,
@@ -1285,7 +1284,6 @@ impl HttpJsonRpc {
}
}
NewPayloadRequest::Fulu(new_payload_request_fulu) => {
// TODO(fulu): switch to v5 endpoint when the EL is ready for Fulu
if engine_capabilities.new_payload_v4 {
self.new_payload_v4_fulu(new_payload_request_fulu).await
} else {

View File

@@ -230,8 +230,6 @@ pub async fn handle_rpc<E: EthSpec>(
if method == ENGINE_NEW_PAYLOAD_V1
|| method == ENGINE_NEW_PAYLOAD_V2
|| method == ENGINE_NEW_PAYLOAD_V3
// TODO(fulu): Uncomment this once v5 method is ready for Fulu
// || method == ENGINE_NEW_PAYLOAD_V4
{
return Err((
format!("{} called after Fulu fork!", method),
@@ -265,16 +263,6 @@ pub async fn handle_rpc<E: EthSpec>(
GENERIC_ERROR_CODE,
));
}
// TODO(fulu): remove once we switch to v5
// if matches!(request, JsonExecutionPayload::V4(_)) {
// return Err((
// format!(
// "{} called with `ExecutionPayloadV4` after Fulu fork!",
// method
// ),
// GENERIC_ERROR_CODE,
// ));
// }
}
_ => unreachable!(),
};

View File

@@ -18,8 +18,6 @@ use warp_utils::reject::CustomBadRequest;
type E = MainnetEthSpec;
/*
* TODO(fulu): write PeerDAS equivalent tests for these.
*
* We have the following test cases, which are duplicated for the blinded variant of the route:
*
* - `broadcast_validation=gossip`

View File

@@ -116,14 +116,12 @@ impl RateLimiterConfig {
Quota::n_every(NonZeroU64::new(896).unwrap(), 10);
pub const DEFAULT_BLOBS_BY_ROOT_QUOTA: Quota =
Quota::n_every(NonZeroU64::new(896).unwrap(), 10);
// 320 blocks worth of columns for regular node, or 40 blocks for supernode.
// Range sync load balances when requesting blocks, and each batch is 32 blocks.
// Allow up to `MAX_REQUEST_DATA_COLUMN_SIDECARS` (16384), the maximum number of data
// column sidecars in a single request from the spec.
pub const DEFAULT_DATA_COLUMNS_BY_RANGE_QUOTA: Quota =
Quota::n_every(NonZeroU64::new(5120).unwrap(), 10);
// 512 columns per request from spec. This should be plenty as peers are unlikely to send all
// sampling requests to a single peer.
Quota::n_every(NonZeroU64::new(16384).unwrap(), 10);
pub const DEFAULT_DATA_COLUMNS_BY_ROOT_QUOTA: Quota =
Quota::n_every(NonZeroU64::new(512).unwrap(), 10);
Quota::n_every(NonZeroU64::new(16384).unwrap(), 10);
pub const DEFAULT_LIGHT_CLIENT_BOOTSTRAP_QUOTA: Quota = Quota::one_every(10);
pub const DEFAULT_LIGHT_CLIENT_OPTIMISTIC_UPDATE_QUOTA: Quota = Quota::one_every(10);
pub const DEFAULT_LIGHT_CLIENT_FINALITY_UPDATE_QUOTA: Quota = Quota::one_every(10);

View File

@@ -161,7 +161,6 @@ impl<T: BeaconChainTypes> ActiveCustodyRequest<T> {
block_root = ?self.block_root,
%req_id,
%peer_id,
// TODO(das): this property can become very noisy, being the full range 0..128
?missing_column_indexes,
"Custody column peer claims to not have some data"
);