Skip to content

Slow down S3 client threads on retryable errors in S3 Object Storage#85918

Merged
nikitamikhaylov merged 11 commits intoClickHouse:masterfrom
jkartseva:disk-settings-slow-all-threads
Aug 26, 2025
Merged

Slow down S3 client threads on retryable errors in S3 Object Storage#85918
nikitamikhaylov merged 11 commits intoClickHouse:masterfrom
jkartseva:disk-settings-slow-all-threads

Conversation

@jkartseva
Copy link
Copy Markdown
Member

@jkartseva jkartseva commented Aug 20, 2025

The existing backup_slow_all_threads_after_retryable_s3_error setting does not cover all backup use cases, such as native copy from disk. This setting is false for the S3 client of the source S3 disk:
https://github.com/ClickHouse/clickhouse-private/blob/d88f38b8611dfdcd2e9c4ab72aa168370d5446e8/src/Backups/BackupIO_S3.cpp#L334

Changelog category (leave one):

  • Improvement

Changelog entry (a user-readable short description of the changes that goes into CHANGELOG.md):

Slow down S3 client threads on retryable errors in S3 Object Storage. This extends the previous setting backup_slow_all_threads_after_retryable_s3_error to S3 disks and renames it to the more general s3_slow_all_threads_after_retryable_error.

Documentation entry for user-facing changes

  • Documentation is written (mandatory for new features)

@jkartseva jkartseva added the can be tested Allows running workflows for external contributors label Aug 20, 2025
@clickhouse-gh
Copy link
Copy Markdown
Contributor

clickhouse-gh bot commented Aug 20, 2025

Workflow [PR], commit [eecb306]

Summary:

@clickhouse-gh clickhouse-gh bot added the pr-improvement Pull request with some product improvements label Aug 20, 2025
@jkartseva jkartseva force-pushed the disk-settings-slow-all-threads branch from 19fdd7a to 28e054c Compare August 20, 2025 06:09
@nikitamikhaylov nikitamikhaylov self-assigned this Aug 20, 2025
Comment on lines +470 to +474
DECLARE_WITH_ALIAS(Bool, s3_slow_all_threads_after_retryable_error, true, R"(
When set to `true`, all threads executing S3 requests to the same endpoint are slowed down
after any single S3 request encounters a retryable S3 error, such as 'Slow Down'.
When set to `false`, each thread handles s3 request backoff independently of the others.
)", 0, backup_slow_all_threads_after_retryable_s3_error) \
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An alternative would be to deprecate the backup_slow_all_threads_after_retryable_s3_error setting in favor of s3_slow_all_threads_after_retryable_error because the latter has a broader scope.

@nikitamikhaylov nikitamikhaylov added this pull request to the merge queue Aug 26, 2025
Merged via the queue into ClickHouse:master with commit b3b1a1d Aug 26, 2025
122 checks passed
@robot-clickhouse robot-clickhouse added the pr-synced-to-cloud The PR is synced to the cloud repo label Aug 26, 2025
robot-ch-test-poll1 added a commit that referenced this pull request Aug 26, 2025
Cherry pick #85918 to 25.8: Slow down S3 client threads on retryable errors in S3 Object Storage
robot-clickhouse added a commit that referenced this pull request Aug 26, 2025
@robot-ch-test-poll1 robot-ch-test-poll1 added the pr-backports-created-cloud deprecated label, NOOP label Aug 26, 2025
@robot-ch-test-poll1 robot-ch-test-poll1 added the pr-must-backport-synced The `*-must-backport` labels are synced into the cloud Sync PR label Aug 26, 2025
clickhouse-gh bot added a commit that referenced this pull request Aug 26, 2025
Backport #85918 to 25.8: Slow down S3 client threads on retryable errors in S3 Object Storage
jkartseva added a commit that referenced this pull request Aug 27, 2025
Cherry pick #85918 to 25.6: Slow down S3 client threads on retryable errors in S3 Object Storage
robot-clickhouse added a commit that referenced this pull request Aug 27, 2025
@robot-ch-test-poll4 robot-ch-test-poll4 added the pr-backports-created Backport PRs are successfully created, it won't be processed by CI script anymore label Aug 27, 2025
clickhouse-gh bot added a commit that referenced this pull request Aug 27, 2025
Backport #85918 to 25.6: Slow down S3 client threads on retryable errors in S3 Object Storage
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

can be tested Allows running workflows for external contributors pr-backports-created Backport PRs are successfully created, it won't be processed by CI script anymore pr-backports-created-cloud deprecated label, NOOP pr-improvement Pull request with some product improvements pr-must-backport-synced The `*-must-backport` labels are synced into the cloud Sync PR pr-synced-to-cloud The PR is synced to the cloud repo v25.6-must-backport v25.8-must-backport

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants