Skip to content
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

Automated cherry pick of #9297 #9401

Conversation

jpbetz
Copy link
Contributor

@jpbetz jpbetz commented Mar 8, 2018

Cherry pick of #9297 on release-3.1.

When discussing the rollback of etcd server from 3.2 to 3.1 for kubernetes 1.10 (kubernetes/kubernetes#60891), one of the concerns with etcd 3.1 was that it was missing this fix. The good news is that etcd 3.1 already contains all other critical fixes for kubernetes except this one.

We're aware that etcd 3.1 is no longer supported, but are hoping to get this fix in as it's considered critical and will be considerable help to the kubernetes community.

#9297: mvcc: restore unsynced watchers

Iwasaki Yudai and others added 2 commits March 7, 2018 21:20
In case syncWatchersLoop() starts before Restore() is called,
watchers already added by that moment are moved to s.synced by the loop.
However, there is a broken logic that moves watchers from s.synced
to s.uncyned without setting keyWatchers of the watcherGroup.
Eventually syncWatchers() fails to pickup those watchers from s.unsynced
and no events are sent to the watchers, because newWatcherBatch() called
in the function uses wg.watcherSetByKey() internally that requires
a proper keyWatchers value.
@jpbetz jpbetz self-assigned this Mar 8, 2018
@jpbetz jpbetz requested a review from gyuho March 8, 2018 05:28
Copy link
Contributor

@gyuho gyuho left a comment

Choose a reason for hiding this comment

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

lgtm. thanks!

@gyuho
Copy link
Contributor

gyuho commented Mar 8, 2018

I will add functional-tester to release 3.1 branch, for possible bbolt backports, tomorrow.

@gyuho gyuho merged commit 7a148fe into etcd-io:release-3.1 Mar 8, 2018
@jpbetz
Copy link
Contributor Author

jpbetz commented Mar 8, 2018

Thanks @gyuho!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants