mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-02 16:21:42 +00:00
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:
@@ -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);
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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!(),
|
||||
};
|
||||
|
||||
@@ -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`
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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"
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user