Revision 36452a1c1d43f8f90511642643a5b3aff2d00391 authored by Jack Kleeman on 06 May 2020, 10:57:19 UTC, committed by tangcong on 23 June 2020, 11:50:21 UTC
Currently, watch cancel requests are only sent to the server after a message comes through on a watch where the client has cancelled. This means that cancelled watches that don't receive any new messages are never cancelled; they persist for the lifetime of the client stream. This has negative connotations for locking applications where a watch may observe a key which might never change again after cancellation, leading to many accumulating watches on the server. By cancelling proactively, in most cases we simply move the cancel request to happen earlier, and additionally we solve the case where the cancel request would never be sent. Fixes #9416 Heavy inspiration drawn from the solutions proposed there.
1 parent 37ac222
File | Mode | Size |
---|---|---|
.github | ||
Documentation | ||
auth | ||
client | ||
clientv3 | ||
contrib | ||
embed | ||
etcdctl | ||
etcdmain | ||
etcdserver | ||
functional | ||
hack | ||
integration | ||
lease | ||
logos | ||
mvcc | ||
pkg | ||
proxy | ||
raft | ||
scripts | ||
security | ||
tests | ||
tools | ||
vendor | ||
version | ||
wal | ||
.gitignore | -rw-r--r-- | 568 bytes |
.header | -rw-r--r-- | 593 bytes |
.travis.yml | -rw-r--r-- | 3.2 KB |
.words | -rw-r--r-- | 1.2 KB |
CONTRIBUTING.md | -rw-r--r-- | 3.2 KB |
DCO | -rw-r--r-- | 1.4 KB |
Dockerfile-release | -rw-r--r-- | 623 bytes |
Dockerfile-release.arm64 | -rw-r--r-- | 222 bytes |
Dockerfile-release.ppc64le | -rw-r--r-- | 224 bytes |
LICENSE | -rw-r--r-- | 11.1 KB |
MAINTAINERS | -rw-r--r-- | 790 bytes |
MAINTAINERS_RULES.md | -rw-r--r-- | 703 bytes |
Makefile | -rw-r--r-- | 17.5 KB |
NOTICE | -rw-r--r-- | 126 bytes |
OWNERS | -rw-r--r-- | 216 bytes |
Procfile | -rw-r--r-- | 1.5 KB |
Procfile.v2 | -rw-r--r-- | 1.5 KB |
README.md | -rw-r--r-- | 8.2 KB |
bill-of-materials.json | -rw-r--r-- | 7.3 KB |
bill-of-materials.override.json | -rw-r--r-- | 254 bytes |
build | -rwxr-xr-x | 2.6 KB |
build.bat | -rwxr-xr-x | 51 bytes |
build.ps1 | -rw-r--r-- | 2.7 KB |
code-of-conduct.md | -rw-r--r-- | 3.0 KB |
etcd.conf.yml.sample | -rw-r--r-- | 3.5 KB |
functional.yaml | -rw-r--r-- | 7.2 KB |
go.mod | -rw-r--r-- | 2.4 KB |
go.sum | -rw-r--r-- | 21.0 KB |
main.go | -rw-r--r-- | 1.0 KB |
main_test.go | -rw-r--r-- | 1.1 KB |
test | -rwxr-xr-x | 20.6 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...