Skip to content

Revert Serializing Outbound Transport Messages on IO Threads (#64632)#64654

Merged
original-brownbear merged 1 commit intoelastic:7.10from
original-brownbear:64632-7.10
Nov 5, 2020
Merged

Revert Serializing Outbound Transport Messages on IO Threads (#64632)#64654
original-brownbear merged 1 commit intoelastic:7.10from
original-brownbear:64632-7.10

Conversation

@original-brownbear
Copy link
Copy Markdown
Contributor

Serializing outbound transport message on the IO loop was introduced in #56961. Unfortunately it turns out that this is incompatible with assumptions made by CCR code here:

// This is currently safe to do because calling `onResponse` will serialize the bytes to the network layer data
// structure on the same thread. So the bytes will be copied before the reference is released.
and that are not easy to work around on short notice.

Raising reverting this move (as a temporary solution, it's still a valuable change long-term) as a blocker therefore as this seriously affects the stability of the initial phase of the CCR following by causing corrupted bytes to be send to the follower.

backport of #64632

Serializing outbound transport message on the IO loop was introduced in #56961. Unfortunately it turns out that this is incompatible with assumptions made by CCR code here: https://github.com/elastic/elasticsearch/blob/f22ddf822e24bb17f1772c3bacb7ee97a00339b8/x-pack/plugin/ccr/src/main/java/org/elasticsearch/xpack/ccr/action/repositories/GetCcrRestoreFileChunkAction.java#L60-L61 and that are not easy to work around on short notice.

Raising reverting this move (as a temporary solution, it's still a valuable change long-term) as a blocker therefore as this seriously affects the stability of the initial phase of the CCR following by causing corrupted bytes to be send to the follower.
@original-brownbear original-brownbear added :Distributed/Network Http and internode communication implementations backport labels Nov 5, 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 Nov 5, 2020
@original-brownbear original-brownbear merged commit 51e9d6f into elastic:7.10 Nov 5, 2020
@original-brownbear original-brownbear deleted the 64632-7.10 branch November 5, 2020 15:29
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