https://github.com/etcd-io/etcd
Revision e08abbeae44289d91306c95cb8f6d399a7f0d4dc authored by Iwasaki Yudai on 06 February 2018, 01:08:24 UTC, committed by Joe Betz on 07 February 2018, 23:34:21 UTC
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.
1 parent bdc3ed1
History
Tip revision: e08abbeae44289d91306c95cb8f6d399a7f0d4dc authored by Iwasaki Yudai on 06 February 2018, 01:08:24 UTC
mvcc: restore unsynced watchers
Tip revision: e08abbe
File Mode Size
.github
Documentation
alarm
auth
client
clientv3
cmd
compactor
contrib
discovery
e2e
embed
error
etcdctl
etcdmain
etcdserver
hack
integration
lease
logos
mvcc
pkg
proxy
raft
rafthttp
scripts
snap
store
tools
version
wal
.dockerignore -rw-r--r-- 5 bytes
.gitignore -rw-r--r-- 316 bytes
.godir -rw-r--r-- 23 bytes
.header -rw-r--r-- 593 bytes
.semaphore.sh -rwxr-xr-x 570 bytes
.travis.yml -rw-r--r-- 2.1 KB
CONTRIBUTING.md -rw-r--r-- 2.5 KB
DCO -rw-r--r-- 1.4 KB
Dockerfile -rw-r--r-- 177 bytes
Dockerfile-release -rw-r--r-- 607 bytes
Dockerfile-release.arm64 -rw-r--r-- 207 bytes
Dockerfile-release.ppc64le -rw-r--r-- 207 bytes
Dockerfile-test -rw-r--r-- 1.6 KB
LICENSE -rw-r--r-- 11.1 KB
MAINTAINERS -rw-r--r-- 449 bytes
NEWS -rw-r--r-- 3.6 KB
NOTICE -rw-r--r-- 126 bytes
Procfile -rw-r--r-- 1.5 KB
README.md -rw-r--r-- 5.7 KB
ROADMAP.md -rw-r--r-- 837 bytes
V2Procfile -rw-r--r-- 1.5 KB
bill-of-materials.json -rw-r--r-- 6.3 KB
bill-of-materials.override.json -rw-r--r-- 414 bytes
build -rwxr-xr-x 1.8 KB
build.bat -rwxr-xr-x 51 bytes
build.ps1 -rw-r--r-- 2.7 KB
cover -rwxr-xr-x 638 bytes
etcd.conf.yml.sample -rw-r--r-- 3.5 KB
glide.lock -rw-r--r-- 5.0 KB
glide.yaml -rw-r--r-- 3.8 KB
main.go -rw-r--r-- 1.1 KB
main_test.go -rw-r--r-- 938 bytes
test -rwxr-xr-x 10.6 KB

README.md

back to top