Skip to content

Fork TransportClusterStateAction to MANAGEMENT#90996

Merged
original-brownbear merged 2 commits intoelastic:mainfrom
original-brownbear:fork-cs-action
Oct 19, 2022
Merged

Fork TransportClusterStateAction to MANAGEMENT#90996
original-brownbear merged 2 commits intoelastic:mainfrom
original-brownbear:fork-cs-action

Conversation

@original-brownbear
Copy link
Copy Markdown
Contributor

For large cluster states the serialization of the response can take a longer time than is acceptable on a transport thread. Also, moving this to management creates a bit of a natural bottleneck via the management pool's size in case a master node is hit by a large number of concurrent requests which might also be helpful in limiting the considerable memory consumption of this transport action.

For large cluster states the serialization of the response
can take a longer time than is acceptable on a transport thread.
Also, moving this to management creates a bit of a natural bottleneck
via the management pool's size in case a master node is hit by
a large number of concurrent requests which might also be helpful
in limiting the considerable memory consumption of this transport
action.
@original-brownbear original-brownbear added >bug :Distributed/Distributed A catch all label for anything in the Distributed Area. Please avoid if you can. v8.5.1 v8.6.0 v7.17.8 labels Oct 18, 2022
@elasticsearchmachine elasticsearchmachine added the Team:Distributed Meta label for distributed team. label Oct 18, 2022
@elasticsearchmachine
Copy link
Copy Markdown
Collaborator

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

@elasticsearchmachine
Copy link
Copy Markdown
Collaborator

Hi @original-brownbear, I've created a changelog YAML for you.

public class TransportClusterStateAction extends TransportMasterNodeReadAction<ClusterStateRequest, ClusterStateResponse> {

private final Logger logger = LogManager.getLogger(getClass());
private static final Logger logger = LogManager.getLogger(TransportClusterStateAction.class);
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

unrelated but spotted this here and figured I'd fix it

Copy link
Copy Markdown
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.

As we spoke about on another channel, we should ideally remove this transport action (or at least make it not go remote) and instead server _cluster/state out of the local node (once on a new enough state version) and for CCR build dedicated endpoints. But I agree that this could (mildly) alleviate problems.

@original-brownbear
Copy link
Copy Markdown
Contributor Author

Thanks Henning!

@elasticsearchmachine
Copy link
Copy Markdown
Collaborator

💚 Backport successful

Status Branch Result
8.5
7.17

elasticsearchmachine pushed a commit that referenced this pull request Oct 19, 2022
For large cluster states the serialization of the response
can take a longer time than is acceptable on a transport thread.
Also, moving this to management creates a bit of a natural bottleneck
via the management pool's size in case a master node is hit by
a large number of concurrent requests which might also be helpful
in limiting the considerable memory consumption of this transport
action.
@csoulios csoulios added v8.5.0 and removed v8.5.1 labels Nov 8, 2022
elasticsearchmachine pushed a commit that referenced this pull request Jan 3, 2023
* Fork TransportClusterStateAction to MANAGEMENT (#90996)

For large cluster states the serialization of the response
can take a longer time than is acceptable on a transport thread.
Also, moving this to management creates a bit of a natural bottleneck
via the management pool's size in case a master node is hit by
a large number of concurrent requests which might also be helpful
in limiting the considerable memory consumption of this transport
action.

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

Labels

>bug :Distributed/Distributed A catch all label for anything in the Distributed Area. Please avoid if you can. Team:Distributed Meta label for distributed team. v7.17.8 v8.5.0 v8.6.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants