Renamed knob and URL parameter for request timeout to request timeout min to more accurately reflect what they do.
This commit is contained in:
parent
dd62b828f9
commit
f0d35e87ef
|
@ -108,20 +108,38 @@ Here is a complete list of valid parameters:
|
|||
|
||||
*connect_tries* (or *ct*) - Number of times to try to connect for each request.
|
||||
|
||||
*connect_timeout* (or *cto*) - Number of seconds to wait for a connect request to succeed.
|
||||
|
||||
*max_connection_life* (or *mcl*) - Maximum number of seconds to reuse a single TCP connection.
|
||||
|
||||
*request_timeout_min* (or *rtom*) - Minimum number of seconds to wait for a request to succeed after a connection is established.
|
||||
|
||||
*request_tries* (or *rt*) - Number of times to try each request until a parseable HTTP response other than 429 is received.
|
||||
|
||||
*requests_per_second* (or *rps*) - Max number of requests to start per second.
|
||||
|
||||
*list_requests_per_second* (or *lrps*) - Max number of list requests to start per second.
|
||||
|
||||
*write_requests_per_second* (or *wrps*) - Max number of write requests to start per second.
|
||||
|
||||
*read_requests_per_second* (or *rrps*) - Max number of read requests to start per second.
|
||||
|
||||
*delete_requests_per_second* (or *drps*) - Max number of delete requests to start per second.
|
||||
|
||||
*concurrent_requests* (or *cr*) - Max number of requests in progress at once.
|
||||
|
||||
*concurrent_uploads* (or *cu*) - Max concurrent uploads (part or whole) that can be in progress at once.
|
||||
|
||||
*concurrent_lists* (or *cl*) - Max concurrent list operations that can be in progress at once.
|
||||
|
||||
*concurrent_reads_per_file* (or *crps*) - Max concurrent reads in progress for any one file.
|
||||
|
||||
*concurrent_writes_per_file* (or *cwps*) Max concurrent uploads in progress for any one file.
|
||||
|
||||
*multipart_max_part_size* (or *maxps*) - Max part size for multipart uploads.
|
||||
|
||||
*multipart_min_part_size* (or *minps*) - Min part size for multipart uploads.
|
||||
|
||||
*concurrent_uploads* (or *cu*) - Max concurrent uploads (part or whole) that can be in progress at once.
|
||||
|
||||
*concurrent_reads_per_file* (or *crps*) - Max concurrent reads in progress for any one file.
|
||||
|
||||
*read_block_size* (or *rbs*) - Block size in bytes to be used for reads.
|
||||
|
||||
*read_ahead_blocks* (or *rab*) - Number of blocks to read ahead of requested offset.
|
||||
|
|
|
@ -102,6 +102,7 @@ Other Changes
|
|||
* Added FreeBSD support. `(PR #2634) <https://github.com/apple/foundationdb/pull/2634>`_
|
||||
* Updated boost to 1.72. `(PR #2684) <https://github.com/apple/foundationdb/pull/2684>`_
|
||||
* Calling ``fdb_run_network`` multiple times in a single run of a client program now returns an error instead of causing undefined behavior. [6.3.1] `(PR #3229) <https://github.com/apple/foundationdb/pull/3229>`_
|
||||
* Blob backup URL parameter ``request_timeout`` changed to ``request_timeout_min``, with prior name still supported. `(PR #3533) <https://github.com/apple/foundationdb/pull/3533>`_
|
||||
|
||||
Fixes from previous versions
|
||||
----------------------------
|
||||
|
|
|
@ -58,7 +58,7 @@ BlobStoreEndpoint::BlobKnobs::BlobKnobs() {
|
|||
connect_timeout = CLIENT_KNOBS->BLOBSTORE_CONNECT_TIMEOUT;
|
||||
max_connection_life = CLIENT_KNOBS->BLOBSTORE_MAX_CONNECTION_LIFE;
|
||||
request_tries = CLIENT_KNOBS->BLOBSTORE_REQUEST_TRIES;
|
||||
request_timeout = CLIENT_KNOBS->BLOBSTORE_REQUEST_TIMEOUT;
|
||||
request_timeout_min = CLIENT_KNOBS->BLOBSTORE_REQUEST_TIMEOUT_MIN;
|
||||
requests_per_second = CLIENT_KNOBS->BLOBSTORE_REQUESTS_PER_SECOND;
|
||||
concurrent_requests = CLIENT_KNOBS->BLOBSTORE_CONCURRENT_REQUESTS;
|
||||
list_requests_per_second = CLIENT_KNOBS->BLOBSTORE_LIST_REQUESTS_PER_SECOND;
|
||||
|
@ -85,7 +85,9 @@ bool BlobStoreEndpoint::BlobKnobs::set(StringRef name, int value) {
|
|||
TRY_PARAM(connect_timeout, cto);
|
||||
TRY_PARAM(max_connection_life, mcl);
|
||||
TRY_PARAM(request_tries, rt);
|
||||
TRY_PARAM(request_timeout, rto);
|
||||
TRY_PARAM(request_timeout_min, rtom);
|
||||
// TODO: For backward compatibility because request_timeout was renamed to request_timeout_min
|
||||
if(name == LiteralStringRef("request_timeout") || name == LiteralStringRef("rto")) { request_timeout_min = value; return true; }
|
||||
TRY_PARAM(requests_per_second, rps);
|
||||
TRY_PARAM(list_requests_per_second, lrps);
|
||||
TRY_PARAM(write_requests_per_second, wrps);
|
||||
|
@ -117,7 +119,7 @@ std::string BlobStoreEndpoint::BlobKnobs::getURLParameters() const {
|
|||
_CHECK_PARAM(connect_timeout, cto);
|
||||
_CHECK_PARAM(max_connection_life, mcl);
|
||||
_CHECK_PARAM(request_tries, rt);
|
||||
_CHECK_PARAM(request_timeout, rto);
|
||||
_CHECK_PARAM(request_timeout_min, rto);
|
||||
_CHECK_PARAM(requests_per_second, rps);
|
||||
_CHECK_PARAM(list_requests_per_second, lrps);
|
||||
_CHECK_PARAM(write_requests_per_second, wrps);
|
||||
|
@ -556,7 +558,7 @@ ACTOR Future<Reference<HTTP::Response>> doRequest_impl(Reference<BlobStoreEndpoi
|
|||
// it would take to upload the content given the upload bandwidth and concurrency limits.
|
||||
int bandwidthThisRequest = 1 + bstore->knobs.max_send_bytes_per_second / bstore->knobs.concurrent_uploads;
|
||||
int contentUploadSeconds = contentLen / bandwidthThisRequest;
|
||||
state int requestTimeout = std::max(bstore->knobs.request_timeout, 3 * contentUploadSeconds);
|
||||
state int requestTimeout = std::max(bstore->knobs.request_timeout_min, 3 * contentUploadSeconds);
|
||||
|
||||
wait(bstore->concurrentRequests.take());
|
||||
state FlowLock::Releaser globalReleaser(bstore->concurrentRequests, 1);
|
||||
|
|
|
@ -53,7 +53,7 @@ public:
|
|||
connect_timeout,
|
||||
max_connection_life,
|
||||
request_tries,
|
||||
request_timeout,
|
||||
request_timeout_min,
|
||||
requests_per_second,
|
||||
list_requests_per_second,
|
||||
write_requests_per_second,
|
||||
|
@ -80,7 +80,7 @@ public:
|
|||
"connect_timeout (or cto) Number of seconds to wait for a connect request to succeed.",
|
||||
"max_connection_life (or mcl) Maximum number of seconds to use a single TCP connection.",
|
||||
"request_tries (or rt) Number of times to try each request until a parseable HTTP response other than 429 is received.",
|
||||
"request_timeout (or rto) Number of seconds to wait for a request to succeed after a connection is established.",
|
||||
"request_timeout_min (or rtom) Number of seconds to wait for a request to succeed after a connection is established.",
|
||||
"requests_per_second (or rps) Max number of requests to start per second.",
|
||||
"list_requests_per_second (or lrps) Max number of list requests to start per second.",
|
||||
"write_requests_per_second (or wrps) Max number of write requests to start per second.",
|
||||
|
|
|
@ -179,7 +179,7 @@ void ClientKnobs::initialize(bool randomize) {
|
|||
init( BLOBSTORE_CONNECT_TIMEOUT, 10 );
|
||||
init( BLOBSTORE_MAX_CONNECTION_LIFE, 120 );
|
||||
init( BLOBSTORE_REQUEST_TRIES, 10 );
|
||||
init( BLOBSTORE_REQUEST_TIMEOUT, 60 );
|
||||
init( BLOBSTORE_REQUEST_TIMEOUT_MIN, 60 );
|
||||
|
||||
init( BLOBSTORE_CONCURRENT_UPLOADS, BACKUP_TASKS_PER_AGENT*2 );
|
||||
init( BLOBSTORE_CONCURRENT_LISTS, 20 );
|
||||
|
|
|
@ -177,7 +177,7 @@ public:
|
|||
int BLOBSTORE_CONNECT_TIMEOUT;
|
||||
int BLOBSTORE_MAX_CONNECTION_LIFE;
|
||||
int BLOBSTORE_REQUEST_TRIES;
|
||||
int BLOBSTORE_REQUEST_TIMEOUT;
|
||||
int BLOBSTORE_REQUEST_TIMEOUT_MIN;
|
||||
int BLOBSTORE_REQUESTS_PER_SECOND;
|
||||
int BLOBSTORE_LIST_REQUESTS_PER_SECOND;
|
||||
int BLOBSTORE_WRITE_REQUESTS_PER_SECOND;
|
||||
|
|
Loading…
Reference in New Issue