-
Notifications
You must be signed in to change notification settings - Fork 24.7k
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
[Zen2] Fix CoordinatorTests #34002
[Zen2] Fix CoordinatorTests #34002
Conversation
Pinging @elastic/es-distributed |
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.
I've left one comment, the rest LGTM
@@ -122,6 +122,10 @@ private void handleApplyCommit(ApplyCommitRequest applyCommitRequest) { | |||
} | |||
|
|||
PublishWithJoinResponse handlePublishRequest(PublishRequest publishRequest) { | |||
// overwrite local node |
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.
I'm not sure why this is needed. As we're using the proper transport layer in our tests, this should be taken care of by PublicationTransportHandler
?
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.
Well spotted, I hadn't realised that the transport layer should have been doing this when deserialising the request. The issue is that DisruptibleMockTransport
doesn't de/serialize the requests before passing them on, so I've added that in defcc57.
153d597
to
1eb527e
Compare
Ok. Unfortunately it makes the most sense to do this in |
1eb527e
to
f4e988f
Compare
…from a remote node here
Changed my mind, I think we should always de/serialize it. |
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.
Great!
Today the
CoordinatorTests
are not very reliable if two elections are scheduled concurrently. Although we expect occasional failures due to this, in fact the failures are much more common than expected due to a handful of issues. This PR fixes these issues.