Adding NodeContext to TransportBroadcastByNodeAction#138057
Merged
masseyke merged 6 commits intoelastic:mainfrom Nov 14, 2025
Merged
Adding NodeContext to TransportBroadcastByNodeAction#138057masseyke merged 6 commits intoelastic:mainfrom
masseyke merged 6 commits intoelastic:mainfrom
Conversation
Contributor
|
I think it's conventional to have the listener be the last argument, but I'm just saying that as a passer-by and I'll leave it up to @DaveCTurner to say whether that's something real or imagined. |
Member
Author
Done! |
Collaborator
|
Pinging @elastic/es-distributed-coordination (Team:Distributed Coordination) |
Contributor
Yes it is, thanks for spotting/fixing that |
DaveCTurner
approved these changes
Nov 14, 2025
Contributor
DaveCTurner
left a comment
There was a problem hiding this comment.
LGTM (left a few nits but nothing needing another look)
...ain/java/org/elasticsearch/action/support/broadcast/node/TransportBroadcastByNodeAction.java
Outdated
Show resolved
Hide resolved
...ain/java/org/elasticsearch/action/support/broadcast/node/TransportBroadcastByNodeAction.java
Show resolved
Hide resolved
...ain/java/org/elasticsearch/action/support/broadcast/node/TransportBroadcastByNodeAction.java
Outdated
Show resolved
Hide resolved
...ain/java/org/elasticsearch/action/support/broadcast/node/TransportBroadcastByNodeAction.java
Outdated
Show resolved
Hide resolved
Co-authored-by: David Turner <david.turner@elastic.co>
weizijun
added a commit
to weizijun/elasticsearch
that referenced
this pull request
Nov 16, 2025
* main: (135 commits)
Mute org.elasticsearch.upgrades.IndexSortUpgradeIT testIndexSortForNumericTypes {upgradedNodes=1} elastic#138130
Mute org.elasticsearch.upgrades.IndexSortUpgradeIT testIndexSortForNumericTypes {upgradedNodes=2} elastic#138129
Mute org.elasticsearch.search.basic.SearchWithRandomDisconnectsIT testSearchWithRandomDisconnects elastic#138128
[DiskBBQ] avoid EsAcceptDocs bug by calling cost before building iterator (elastic#138127)
Log NOT_PREFERRED shard movements (elastic#138069)
Improve bulk loading of binary doc values (elastic#137995)
Add internal action for getting inference fields and inference results for those fields (elastic#137680)
Address issue with DateFieldMapper#isFieldWithinQuery(...) (elastic#138032)
WriteLoadConstraintDecider: Have separate rate limiting for canRemain and canAllocate decisions (elastic#138067)
Adding NodeContext to TransportBroadcastByNodeAction (elastic#138057)
Mute org.elasticsearch.simdvec.ESVectorUtilTests testSoarDistanceBulk elastic#138117
Mute org.elasticsearch.xpack.esql.qa.single_node.GenerativeIT test elastic#137909
Backport batched_response_might_include_reduction_failure version to 8.19 (elastic#138046)
Add summary metrics for tdigest fields (elastic#137982)
Add gp-llm-v2 model ID and inference endpoint (elastic#138045)
Various tracing fixes (elastic#137908)
[ML] Fixing KDE evaluate() to return correct ValueAndMagnitude object (elastic#128602)
Mute org.elasticsearch.xpack.shutdown.NodeShutdownIT testStalledShardMigrationProperlyDetected elastic#115697
[ML] Fix Flaky Audit Message Assertion in testWithDatastream for RegressionIT and ClassificationIT (elastic#138065)
[ML] Fix Non-Deterministic Training Set Selection in RegressionIT testTwoJobsWithSameRandomizeSeedUseSameTrainingSet (elastic#138063)
...
# Conflicts:
# rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test/search.vectors/200_dense_vector_docvalue_fields.yml
This was referenced Nov 26, 2025
masseyke
added a commit
to masseyke/elasticsearch
that referenced
this pull request
Nov 26, 2025
(cherry picked from commit 9df1314)
masseyke
added a commit
to masseyke/elasticsearch
that referenced
this pull request
Nov 26, 2025
(cherry picked from commit 9df1314)
Member
Author
💚 All backports created successfully
Questions ?Please refer to the Backport tool documentation |
masseyke
added a commit
to masseyke/elasticsearch
that referenced
this pull request
Nov 26, 2025
(cherry picked from commit 9df1314) # Conflicts: # server/src/main/java/org/elasticsearch/action/support/broadcast/node/TransportBroadcastByNodeAction.java
masseyke
added a commit
that referenced
this pull request
Dec 1, 2025
masseyke
added a commit
that referenced
this pull request
Dec 1, 2025
masseyke
added a commit
that referenced
this pull request
Dec 1, 2025
This was referenced Dec 4, 2025
Open
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
There are cases where we need access to some computationally-expensive resource in
TransportBroadcastByNodeAction::shardOperation. Even if that resource is not dependent on the particular shard in that method, we currently have to recompute it because there is no way to share resources across calls to shardOperation. For example, when we callGET _stats, we have to scan through all shards in the cache to compute the shared memory in the cache -- and we do this same computation for each shard (see #97222).This PR introduces the notion of a NodeContext to a TransportBroadcastByNodeAction. The default implementation does nothing, but a NodeContext can be created by the
createNodeContextmethod, which is called one time per node before the calls toshardOperationbegin.This PR does not change any current functionality, but future PRs will take advantage of it.