stevenpall commented on PR #64758: URL: https://github.com/apache/doris/pull/64758#issuecomment-4805696337
Answering the PR checklist: **1. What problem was fixed, and how.** The cloud recycler's S3 client in `S3Accessor::init()` (`cloud/src/recycler/s3_accessor.cpp`) builds an `Aws::Client::ClientConfiguration` that never sets `requestTimeoutMs`, so it keeps the SDK default of 3000 ms. The vendored aws-sdk-cpp maps that onto `CURLOPT_LOW_SPEED_TIME=3` + `CURLOPT_LOW_SPEED_LIMIT=1`, so any `DeleteObjects` that cannot sustain >1 byte/s for 3 s is aborted with curl error 28 (`responseCode=-1 error="curlCode: 28, Timeout was reached"`). On object stores with higher per-request latency the recycler wedges: every `delete_rowset_data`/`DeleteObjects` aborts at 3 s, the delete budget is spent on timed-out ops, and the orphan backlog never drains. Fixed by setting `requestTimeoutMs = 30000` and `connectTimeoutMs = 5000` on that client — the same root cause and fix as #49315, which set `requestTimeoutMs = 30000` for the BE in `be/src/util/s3_util.cpp` but missed the cloud recycler's separate client. **2. Which behaviors were modified.** Only the per-request timeout of the recycler's S3 client. Before: the curl low-speed abort fires at 3 s, failing slow/large DeleteObjects with curlCode 28. After: a request has 30 s (connect 5 s) before aborting, matching the BE. No change for fast object stores, which complete well under 3 s either way; `MaxDeleteBatch` and all other recycler logic are untouched. **3–5 (new feature / refactor / optimization).** N/A — this is a one-line timeout-config bugfix in the recycler S3 client path, with no new functionality, refactoring, or algorithmic change. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
