Skip to content

Serialize Get Mappings Response on Generic ThreadPool (#57937)#61401

Merged
original-brownbear merged 1 commit intoelastic:7.xfrom
original-brownbear:57937-7.x
Aug 21, 2020
Merged

Serialize Get Mappings Response on Generic ThreadPool (#57937)#61401
original-brownbear merged 1 commit intoelastic:7.xfrom
original-brownbear:57937-7.x

Conversation

@original-brownbear
Copy link
Copy Markdown
Contributor

For large responses to the get mappings request, the serialization
to XContent can be extremely slow (serializing mappings is expensive since
we have to decompress and deserialize the mapping source).
To not introduce instability on the IO thread handling the get mappings response
we should move the serialization to the management pool.
The trade-off of introducing one or two new context switches for responses that are
small enough to not cause trouble on the transport thread to prevent instability
in case of a large number of mappings in the cluster seems worth it.

backport of #57937

For large responses to the get mappings request, the serialization
to XContent can be extremely slow (serializing mappings is expensive since
we have to decompress and deserialize the mapping source).
To not introduce instability on the IO thread handling the get mappings response
we should move the serialization to the management pool.
The trade-off of introducing one or two new context switches for responses that are
small enough to not cause trouble on the transport thread to prevent instability
in case of a large number of mappings in the cluster seems worth it.
@original-brownbear original-brownbear added :Distributed/Network Http and internode communication implementations backport labels Aug 21, 2020
@elasticmachine
Copy link
Copy Markdown
Collaborator

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

@elasticmachine elasticmachine added the Team:Distributed Meta label for distributed team. label Aug 21, 2020
@original-brownbear original-brownbear merged commit e09058d into elastic:7.x Aug 21, 2020
@original-brownbear original-brownbear deleted the 57937-7.x branch August 21, 2020 06:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport :Distributed/Network Http and internode communication implementations Team:Distributed Meta label for distributed team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants