fbed568b6a
clientv3/balancer: mark partitioned member as unhealthy
...
Previous behavior is when server returns errors, retry
wrapper does not do anything, while passively expecting
balancer to gray-list the isolated endpoint. This is
problematic when multiple endpoints are passed, and
network partition happens.
This patch adds 'endpointError' method to 'balancer' interface
to actively(possibly even before health-check API gets called)
handle RPC errors and gray-list endpoints for the time being,
thus speeding up the endpoint switch.
This is safe in a single-endpoint case, because balancer will
retry no matter what in such case.
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-09 13:40:03 -07:00
1704443c6d
clientv3: only health-check when timeout elapses since last failure
...
Otherwise network-partitioned member with active health-check
server would not be gray-listed, making health-balancer stuck
with isolated endpoint.
Also clarifies some log messages.
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-09 13:40:03 -07:00
e47be1f325
Merge pull request #8672 from gyuho/require-leader
...
etcdctl/ctlv3: enable 'require-leader' for 'watch' command
2017-10-09 13:38:52 -07:00
d44f7d5f67
etcdctl/ctlv3: enable 'require-leader' for 'watch' command
...
To help with network partition cases.
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-09 13:19:30 -07:00
ed92420950
Merge pull request #8666 from lorneli/ordering
...
clientv3/ordering: compare and update prevRev atomically
2017-10-09 11:14:40 -07:00
09a38a7953
Merge pull request #8671 from gyuho/ddd
...
Dockerfile-test: add 'ineffassign' to image
2017-10-09 10:38:45 -07:00
2bbd26e8e0
README: update badges
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-09 09:48:23 -07:00
6571829f16
Merge pull request #8663 from YuleiXiao/add_keepalive_for_ctlv3
...
etcdctl/v3: add keep alive time/timeout
2017-10-09 09:45:59 -07:00
66f2a65f6b
Dockerfile-test: add 'ineffassign' to image
...
Was missing for 'fmt' tests.
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-09 09:36:30 -07:00
71197ab2a5
Merge pull request #8670 from gyuho/rrr
...
README: update 'goreman' guide with 'grpc-proxy'
2017-10-09 09:35:47 -07:00
90c3f91f29
README: update 'goreman' guide with 'grpc-proxy'
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-09 09:28:22 -07:00
5096b4ed5d
clientv3/ordering: compare and update prevRev atomically
...
Several goroutines may call setPrevRev concurrently with different
revisions, all higher than prevRev. Previously all of these goroutines
could set prevRev, so prevRev may be replaced by older one.
If response's revision equals to prevRev, there's no need to call
setPrevRev.
2017-10-09 20:06:19 +08:00
04940efcc2
etcdctl: add keep alive time/timeout in etcdctl
...
client can switch from fault node to normal when keep alive is timeout
Fixes #7941
2017-10-09 09:51:43 +08:00
a68a3dc79e
Merge pull request #8661 from jpbetz/docker-dns-srv-fix
...
Dockerfile: Improve file permissions for docker build images using bind9
2017-10-07 11:17:57 -07:00
abc81d03a7
Dockerfile: Improve file permissions for docker build images using bind9
...
/etc/init.d/bind9 is run as the 'bind' user. This fixes file permissions
for the configuration files added by the Dockerfile to match.
2017-10-06 23:34:39 -07:00
b766a26059
Merge pull request #8257 from yudai/websocket_streams
...
embed: support websocket for bi-directional streams
2017-10-06 21:33:55 -07:00
e8e3467455
Merge pull request #8659 from gyuho/pinned
...
clientv3: add pinned() method to 'balancer'
2017-10-06 16:03:14 -07:00
bed5f388a8
clientv3: add pinned() method to 'balancer'
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-06 15:28:21 -07:00
0cdf5b2d58
vendor: add github.com/tmc/grpc-websocket-proxy
...
Updating golang.org/x/net as well so that a new dependency
github.com/sirupsen/logrus can be compiled on Windows environments.
2017-10-06 15:14:01 -07:00
077b361bfc
Merge pull request #8658 from gyuho/etcdhttp-godoc
...
etcdserver/api/etcdhttp: document package in doc.go
2017-10-06 10:51:08 -07:00
1109c6c321
etcdserver/api/etcdhttp: document package in doc.go
...
It was missing from godoc.
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-06 10:47:47 -07:00
dcaa0cddfc
Merge pull request #8657 from gyuho/debug-line
...
clientv3: add debugging lines to 'retry' paths
2017-10-06 10:38:44 -07:00
1c6fbcd3d0
clientv3: add debugging lines to 'retry' paths
...
Helpful for debugging client balancer.
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-06 10:13:25 -07:00
d2b3e578e7
Merge pull request #8653 from gyuho/changelog
...
CHANGELOG: add v3.2.9, minor updates
2017-10-06 09:00:49 -07:00
39912e7018
Merge pull request #8655 from gyuho/makefile
...
Makefile: suffix test log files
2017-10-06 08:52:11 -07:00
d9e8d4665c
Makefile: suffix test log files
...
In preparation of running all tests inside container.
Currently, we run Jenkins in shared environment.
This is not good. Need manual Go runtime updates,
cannot run two different branches, port conflicts,
out of disk errors, etc.
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-06 08:36:32 -07:00
37eabd770e
embed: support websocket for bi-directional streams
2017-10-05 16:08:18 -07:00
c58ba620dd
Merge pull request #8654 from gyuho/update
...
e2e/docker-dns-srv: test with TLS
2017-10-05 16:02:23 -07:00
db0ea5d44b
Merge pull request #8651 from xiang90/https_srv
...
embed: fix HTTPs + DNS SRV discovery
2017-10-05 15:49:42 -07:00
cab94ac128
CHANGELOG: add v3.2.9, minor updates
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-05 15:42:28 -07:00
f79d5aaca4
embed: fix HTTPs + DNS SRV discovery
2017-10-05 15:21:45 -07:00
5d3a5912eb
e2e/docker-dns-srv: enable peer, client TLS
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-05 15:15:02 -07:00
d57159f79a
e2e/docker-dns-srv: use 'etcd.local' as SRV, clean up
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-05 22:05:33 +00:00
e7e24dab64
e2e/docker-dns: enable client-cert-auth in /run.sh
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-05 22:05:33 +00:00
09f02e5507
fixtures: add 'localhost' to wildcard cert for local cluster
...
Otherwise, local cluster tests fail.
2017-10-05 22:05:20 +00:00
867e3da0c4
Merge pull request #8652 from gyuho/proxy-tests-Makefile
...
Makefile: add 'test-proxy', 'test-coverage'
2017-10-05 11:38:02 -07:00
b0dc639807
Makefile: add 'test-proxy', 'test-coverage'
...
To dockerize all test runs in Jenkins.
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-05 10:52:22 -07:00
70aa30f281
e2e/docker-dns-srv: upgrade Go version to 1.9.1
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-05 10:40:29 -07:00
8b75689c05
Merge pull request #8648 from gyuho/mu
...
mvcc: move 'keyi' define before holding locks
2017-10-05 10:28:44 -07:00
9154b31bf3
mvcc: move 'keyi' define before holding locks
...
To make it consistent with other code paths.
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-05 10:06:28 -07:00
75a51f77f3
Merge pull request #8628 from gyuho/makefile
...
Makefile: initial commit
2017-10-05 09:58:49 -07:00
b3ff3982b8
Merge pull request #8650 from gyuho/travis
...
travis: specify Go minor versions
2017-10-05 09:57:57 -07:00
2c93dbf0a8
travis: specify Go minor versions
...
1.9.x doesn't work with travis Go 'gimme'.
https://travis-ci.org/coreos/etcd/jobs/283789582#L616-L629
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-05 09:54:52 -07:00
ded97c874b
Dockerfile-test: upgrade Go version to 1.9.1
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-05 09:48:09 -07:00
f5b1da6a20
Makefile: add 'docker-dns-srv-*'
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-05 09:48:06 -07:00
db1be7ebc0
e2e/docker-dns: clean up Procfile.tls
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-05 09:47:37 -07:00
85bbd0cead
e2e/docker-dns-srv: initial commit
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-05 09:47:37 -07:00
23a302364c
Makefile: initial commit
...
Initial commit to run DNS/SRV tests.
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-05 09:47:33 -07:00
b401659fbb
Merge pull request #8649 from gyuho/crypto
...
vendor: update 'golang.org/x/crypto'
2017-10-05 09:45:20 -07:00
0e6e2f5ec5
vendor: update 'golang.org/x/crypto'
...
To include 6c586e17d9
.
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-10-05 07:35:11 -07:00