Skip to content

Conversation

@tlrx
Copy link
Member

@tlrx tlrx commented May 19, 2025

On Serverless, the repository_azure thread pool is shared between snapshots and translogs/segments upload logic. Because snapshots can be rate-limited when executing in the repository_azure thread pool, we want to leave enough room for the other upload threads to be executed.

Relates ES-11391
Relates ES-11734

On Serverless, the `repository_azure` thread pool is
shared between snapshots and translogs/segments upload
logic. Because snapshots can be rate-limited when
executing in the repository_azure thread pool, we want
to leave enough room for the other upload threads to be
executed.

Relates ES-11391
@tlrx tlrx requested a review from a team as a code owner May 19, 2025 11:52
@tlrx tlrx added >non-issue :Distributed Coordination/Snapshot/Restore Anything directly related to the `_snapshot/*` APIs v9.1.0 labels May 19, 2025
@elasticsearchmachine elasticsearchmachine added the Team:Distributed Coordination Meta label for Distributed Coordination team label May 19, 2025
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-distributed-coordination (Team:Distributed Coordination)

public static ExecutorBuilder<?> executorBuilder() {
return new ScalingExecutorBuilder(REPOSITORY_THREAD_POOL_NAME, 0, 5, TimeValue.timeValueSeconds(30L), false);
public static ExecutorBuilder<?> executorBuilder(Settings settings) {
int repositoryAzureMax = 5;
Copy link
Contributor

Choose a reason for hiding this comment

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

I guess that we are good with 5 threads for segments/translog uploads?

Copy link
Member Author

Choose a reason for hiding this comment

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

I think so, but we'll have to monitor production to know if that's enough I think.

Copy link
Contributor

@fcofdez fcofdez left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@henningandersen henningandersen left a comment

Choose a reason for hiding this comment

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

LGTM, great find.

I wonder if we should make what is conditioned by stateless now the default even? It seems snapshot meta uploads while doing X snapshot uploads could benefit from the same. But we can do that in a follow-up if this turns out successful.

@tlrx tlrx merged commit 27a3eb0 into elastic:main May 20, 2025
17 checks passed
@tlrx
Copy link
Member Author

tlrx commented May 20, 2025

Thanks Francisco and Henning. The ticket resolved by this change is ES-11734.

I wonder if we should make what is conditioned by stateless now the default even? It seems snapshot meta uploads while doing X snapshot uploads could benefit from the same. But we can do that in a follow-up if this turns out successful.

Yes, that makes sense too. I'll follow up on that.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:Distributed Coordination/Snapshot/Restore Anything directly related to the `_snapshot/*` APIs >non-issue Team:Distributed Coordination Meta label for Distributed Coordination team v9.1.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants