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
Tip revision: e08abbeae44289d91306c95cb8f6d399a7f0d4dc authored by Iwasaki Yudai on 06 February 2018, 01:08:24 UTC
mvcc: restore unsynced watchers
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 |
Computing file changes ...