Skip to content

Commit d73d39b

Browse files
authored
fix(cherry-pick 1.35): daemon arg fix (#2667)
* fix: fix daemon command arg collision (#2652) fix daemon command arg collision * chore: cleanup max concurrent requests and max buffer size for aggregator and publisher (#2661) cleanup max concurrent requests and max buffer size for aggregator and publisher arg
1 parent 86dba78 commit d73d39b

File tree

2 files changed

+51
-31
lines changed

2 files changed

+51
-31
lines changed

crates/walrus-service/src/client/cli/args.rs

Lines changed: 41 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -888,18 +888,24 @@ pub struct AggregatorArgs {
888888
#[serde(default)]
889889
pub max_blob_size: Option<u64>,
890890
/// The maximum number of requests that can be buffered before the server starts rejecting new
891-
/// ones.
892-
#[arg(long = "max-buffer-size", default_value_t = default::max_aggregator_buffer_size())]
891+
/// ones. Note that this includes the number of requests that are being processed currently.
892+
#[arg(
893+
long = "aggregator-max-buffer-size",
894+
default_value_t = default::max_aggregator_buffer_size()
895+
)]
893896
#[serde(default = "default::max_aggregator_buffer_size")]
894-
pub max_request_buffer_size: usize,
897+
pub aggregator_max_request_buffer_size: usize,
895898
/// The maximum number of requests the aggregator can process concurrently.
896899
///
897900
/// If more requests than this maximum are received, the excess requests are buffered up to
898901
/// `--max-buffer-size`. Any outstanding request will result in a response with a
899902
/// 429 HTTP status code.
900-
#[arg(long, default_value_t = default::max_aggregator_concurrent_requests())]
903+
#[arg(
904+
long = "aggregator-max-concurrent-requests",
905+
default_value_t = default::max_aggregator_concurrent_requests()
906+
)]
901907
#[serde(default = "default::max_aggregator_concurrent_requests")]
902-
pub max_concurrent_requests: usize,
908+
pub aggregator_max_concurrent_requests: usize,
903909
}
904910

905911
/// The arguments for the publisher service.
@@ -920,17 +926,31 @@ pub struct PublisherArgs {
920926
pub max_quilt_body_size_kib: usize,
921927
/// The maximum number of requests that can be buffered before the server starts rejecting new
922928
/// ones.
923-
#[arg(long = "max-buffer-size", default_value_t = default::max_request_buffer_size())]
924-
#[serde(default = "default::max_request_buffer_size")]
925-
pub max_request_buffer_size: usize,
929+
#[arg(
930+
long = "publisher-max-buffer-size",
931+
alias = "max-buffer-size",
932+
default_value_t = default::publisher_max_request_buffer_size(),
933+
help = "The maximum number of requests that can be buffered before the server starts \
934+
rejecting new ones. (Note: --max-buffer-size is deprecated, use \
935+
--publisher-max-buffer-size)"
936+
)]
937+
#[serde(default = "default::publisher_max_request_buffer_size")]
938+
pub publisher_max_request_buffer_size: usize,
926939
/// The maximum number of requests the publisher can process concurrently.
927940
///
928941
/// If more requests than this maximum are received, the excess requests are buffered up to
929-
/// `--max-buffer-size`. Any outstanding request will result in a response with a 429 HTTP
930-
/// status code.
931-
#[arg(long, default_value_t = default::max_concurrent_requests())]
932-
#[serde(default = "default::max_concurrent_requests")]
933-
pub max_concurrent_requests: usize,
942+
/// `--publisher-max-buffer-size`. Any outstanding request will result in a response with a
943+
/// 429 HTTP status code.
944+
#[arg(
945+
long = "publisher-max-concurrent-requests",
946+
alias = "max-concurrent-requests",
947+
default_value_t = default::publisher_max_concurrent_requests(),
948+
help = "The maximum number of requests the publisher can process concurrently. \
949+
(Note: --max-concurrent-requests is deprecated, use \
950+
--publisher-max-concurrent-requests)"
951+
)]
952+
#[serde(default = "default::publisher_max_concurrent_requests")]
953+
pub publisher_max_concurrent_requests: usize,
934954
/// The number of clients to use for the publisher.
935955
///
936956
/// The publisher uses this number of clients to publish blobs concurrently.
@@ -1806,23 +1826,23 @@ pub(crate) mod default {
18061826
102_400 // 100MB default for quilts.
18071827
}
18081828

1809-
pub(crate) fn max_concurrent_requests() -> usize {
1829+
pub(crate) fn publisher_max_concurrent_requests() -> usize {
18101830
8
18111831
}
18121832

1813-
pub(crate) fn max_request_buffer_size() -> usize {
1833+
pub(crate) fn publisher_max_request_buffer_size() -> usize {
18141834
// 1x the number of concurrent requests by default means that we start rejecting requests
18151835
// rather soon to avoid overloading the publisher.
18161836
//
18171837
// In total there can be 1x processing and 1x in the buffer, for 2x number of concurrent
18181838
// requests allowed before we start rejecting.
1819-
max_concurrent_requests()
1839+
publisher_max_concurrent_requests()
18201840
}
18211841

18221842
pub(crate) fn n_publisher_clients() -> usize {
18231843
// Use the same number of clients as the number of concurrent requests. This way, the
18241844
// publisher will have the lowest possible latency for every request.
1825-
max_concurrent_requests()
1845+
publisher_max_concurrent_requests()
18261846
}
18271847

18281848
pub(crate) fn sub_wallets_min_balance() -> u64 {
@@ -1969,8 +1989,8 @@ mod tests {
19691989
},
19701990
max_body_size_kib: default::max_body_size_kib(),
19711991
max_quilt_body_size_kib: default::max_quilt_body_size_kib(),
1972-
max_request_buffer_size: default::max_request_buffer_size(),
1973-
max_concurrent_requests: default::max_concurrent_requests(),
1992+
publisher_max_request_buffer_size: default::publisher_max_request_buffer_size(),
1993+
publisher_max_concurrent_requests: default::publisher_max_concurrent_requests(),
19741994
refill_interval: default::refill_interval(),
19751995
sub_wallets_dir: "/some/path".into(),
19761996
gas_refill_amount: default::gas_refill_amount(),
@@ -1988,8 +2008,8 @@ mod tests {
19882008
allowed_headers: default::allowed_headers(),
19892009
allow_quilt_patch_tags_in_response: false,
19902010
max_blob_size: None,
1991-
max_request_buffer_size: default::max_aggregator_buffer_size(),
1992-
max_concurrent_requests: default::max_aggregator_concurrent_requests(),
2011+
aggregator_max_request_buffer_size: default::max_aggregator_buffer_size(),
2012+
aggregator_max_concurrent_requests: default::max_aggregator_concurrent_requests(),
19932013
},
19942014
})
19952015
}

crates/walrus-service/src/client/daemon.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -348,8 +348,8 @@ impl<T: WalrusReadClient + Send + Sync + 'static> ClientDaemon<T> {
348348
allowed_headers: args.allowed_headers.clone().into_iter().collect(),
349349
allow_quilt_patch_tags_in_response: args.allow_quilt_patch_tags_in_response,
350350
},
351-
args.max_request_buffer_size,
352-
args.max_concurrent_requests,
351+
args.aggregator_max_request_buffer_size,
352+
args.aggregator_max_concurrent_requests,
353353
)
354354
}
355355

@@ -470,8 +470,8 @@ impl<T: WalrusWriteClient + Send + Sync + 'static> ClientDaemon<T> {
470470
.with_publisher(
471471
auth_config,
472472
args.max_body_size(),
473-
args.max_request_buffer_size,
474-
args.max_concurrent_requests,
473+
args.publisher_max_request_buffer_size,
474+
args.publisher_max_concurrent_requests,
475475
args.max_quilt_body_size(),
476476
)
477477
}
@@ -495,14 +495,14 @@ impl<T: WalrusWriteClient + Send + Sync + 'static> ClientDaemon<T> {
495495
allow_quilt_patch_tags_in_response: aggregator_args
496496
.allow_quilt_patch_tags_in_response,
497497
},
498-
aggregator_args.max_request_buffer_size,
499-
aggregator_args.max_concurrent_requests,
498+
aggregator_args.aggregator_max_request_buffer_size,
499+
aggregator_args.aggregator_max_concurrent_requests,
500500
)
501501
.with_publisher(
502502
auth_config,
503503
publisher_args.max_body_size_kib,
504-
publisher_args.max_request_buffer_size,
505-
publisher_args.max_concurrent_requests,
504+
publisher_args.publisher_max_request_buffer_size,
505+
publisher_args.publisher_max_concurrent_requests,
506506
publisher_args.max_quilt_body_size(),
507507
)
508508
}
@@ -703,8 +703,8 @@ mod tests {
703703
allowed_headers: vec![],
704704
allow_quilt_patch_tags_in_response: false,
705705
max_blob_size: None,
706-
max_request_buffer_size: max_buffer,
707-
max_concurrent_requests: max_concurrent,
706+
aggregator_max_request_buffer_size: max_buffer,
707+
aggregator_max_concurrent_requests: max_concurrent,
708708
};
709709

710710
let daemon = ClientDaemon::new_aggregator(

0 commit comments

Comments
 (0)