-
Notifications
You must be signed in to change notification settings - Fork 25.6k
Adding NodeContext to TransportBroadcastByNodeAction #138057
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adding NodeContext to TransportBroadcastByNodeAction #138057
Conversation
|
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. |
Done! |
|
Pinging @elastic/es-distributed-coordination (Team:Distributed Coordination) |
Yes it is, thanks for spotting/fixing that |
DaveCTurner
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 <[email protected]>
* 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
(cherry picked from commit 9df1314)
(cherry picked from commit 9df1314)
💚 All backports created successfully
Questions ?Please refer to the Backport tool documentation |
(cherry picked from commit 9df1314) # Conflicts: # server/src/main/java/org/elasticsearch/action/support/broadcast/node/TransportBroadcastByNodeAction.java
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.