Skip to content

Move individual stats fields to AsyncRefresh#135052

Merged
elasticsearchmachine merged 1 commit intoelastic:mainfrom
ywangd:internal-cluster-info-service-fields
Sep 19, 2025
Merged

Move individual stats fields to AsyncRefresh#135052
elasticsearchmachine merged 1 commit intoelastic:mainfrom
ywangd:internal-cluster-info-service-fields

Conversation

@ywangd
Copy link
Member

@ywangd ywangd commented Sep 19, 2025

Only the overall ClusterInfo is needed at the top level. This PR moves the individual intermediate stats fields onto AsyncRefresh to avoid potential misuses.

Relates:
#133630 (comment)

Only the overall ClusterInfo is needed at the top level. This PR moves
the individual intermediate stats fields onto AsyncRefresh to avoid
potential misuses.

Relates:
elastic#133630 (comment)
@ywangd ywangd requested a review from nicktindall September 19, 2025 02:53
@ywangd ywangd added :Distributed/Allocation All issues relating to the decision making around placing a shard (both master logic & on the nodes) >refactoring v9.2.0 labels Sep 19, 2025
@elasticsearchmachine elasticsearchmachine added the Team:Distributed Coordination (obsolete) Meta label for Distributed Coordination team. Obsolete. Please do not use. label Sep 19, 2025
@elasticsearchmachine
Copy link
Collaborator

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

Copy link
Contributor

@nicktindall nicktindall left a comment

Choose a reason for hiding this comment

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

LGTM!

@ywangd ywangd added the auto-merge-without-approval Automatically merge pull request when CI checks pass (NB doesn't wait for reviews!) label Sep 19, 2025
@elasticsearchmachine elasticsearchmachine merged commit 2b0153b into elastic:main Sep 19, 2025
34 checks passed
@ywangd ywangd deleted the internal-cluster-info-service-fields branch September 19, 2025 03:57
pxsalehi added a commit to pxsalehi/elasticsearch that referenced this pull request Sep 24, 2025
pxsalehi added a commit to pxsalehi/elasticsearch that referenced this pull request Sep 24, 2025
This was referenced Sep 24, 2025
DiannaHohensee pushed a commit that referenced this pull request Sep 24, 2025
* Revert "Move individual stats fields to AsyncRefresh (#135052)"

This reverts commit 2b0153b.

* Revert "Track shardStarted events for simulation in DesiredBalanceComputer (#133630)"

This reverts commit f248596.
DiannaHohensee pushed a commit that referenced this pull request Sep 24, 2025
* Revert "Move individual stats fields to AsyncRefresh (#135052)"

This reverts commit 2b0153b.

* Revert "Track shardStarted events for simulation in DesiredBalanceComputer (#133630)"

This reverts commit f248596.

* [CI] Update transport version definitions

* Revert "[CI] Update transport version definitions"

This reverts commit 90f38b0.

* Don't reset upper bounds (#135226)

Transport version upper bounds are currently set to their values from
upstream main whenever no new definition is detected. However, this
is like a partial merge of upstream, and produces broken state files.
This commit temporarily comments out resetting until a more robust
solution is built.

* Revert "Don't reset upper bounds (#135226)"

This reverts commit ddbac68.

---------

Co-authored-by: elasticsearchmachine <infra-root+elasticsearchmachine@elastic.co>
Co-authored-by: Ryan Ernst <ryan@iernst.net>
ywangd added a commit to ywangd/elasticsearch that referenced this pull request Sep 29, 2025
elasticsearchmachine pushed a commit that referenced this pull request Oct 2, 2025
…mputer" (#135597)

This PR reapplies both #133630 and #135052 with a performance bug fix.
The original PR #133630 had a severe impact on throughput for index
creation. It was reverted with #135369. The flamegraph suggests the
system spent a lot time to compute shard assignments on ClusterInfo
instantiation time. But that is unnecessary since they do not change
within a single polling interval. This PR fixes it by reuse the last
value and avoid recomputation.

Copying the original commit message here

If a shard starts on the target node before the next ClusterInfo
polling, today we don't include it for the simulation. With this PR, we
track shards that can potentially start within one ClusterInfo polling
cycle so that they are always included in simulation. The tracking is
reset when a new ClusterInfo arrives.

Resolves: ES-12723
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto-merge-without-approval Automatically merge pull request when CI checks pass (NB doesn't wait for reviews!) :Distributed/Allocation All issues relating to the decision making around placing a shard (both master logic & on the nodes) >refactoring Team:Distributed Coordination (obsolete) Meta label for Distributed Coordination team. Obsolete. Please do not use. v9.2.0

3 participants