Derrick J. Wippler
eb9c8d3c2f
clientv3: return reason to user when server cancels watch
...
This change allows Watch users to retrieve the cancel reason when a
watch is canceled by the server. Additionally WatchResponses with
closeErr set now have Canceled set true which is in line with the
documentation for the Canceled field.
2018-08-16 23:11:02 -05:00
Gyuho Lee
aeb418b815
clientv3/integration: remove "transport.ErrConnClosing" match
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-08-09 19:27:37 -07:00
Daniel Lipovetsky
ddde272fb0
clientv3: Make saved snapshot readable by user only
...
Fixes #9976
2018-08-08 12:46:17 -07:00
Joe Betz
1c382a4868
Merge pull request #9945 from jpbetz/balancer-maintanance-api-fix
...
clientv3: Fix maintenance APIs to directly dial grpc endpoints directly
2018-07-27 10:15:25 -07:00
Joe Betz
67bcf28c4e
clientv3: Use passthrough resolver for direct endpoint dialing
2018-07-27 10:15:02 -07:00
Joe Betz
a2ecd6b676
clientv3: Simplify TestDialTLSNoConfig now that dial with grpc.WithBlock correctly results in a client timeout error
2018-07-24 10:45:03 -07:00
Joe Betz
750b87d622
Merge pull request #9924 from jpbetz/persist-lease-deadline
...
lease: Persist remainingTTL to prevent indefinite auto-renewal of long lived leases
2018-07-24 09:39:57 -07:00
Joe Betz
b3b06a862a
clientv3: Fix maintenance APIs to directly dial grpc endpoints correctly.
2018-07-23 11:20:15 -07:00
Gyuho Lee
0458c5d54b
Merge pull request #9951 from gyuho/revive
...
*: integrate https://github.com/mgechev/revive with fmt tests
2018-07-23 06:39:33 -07:00
Gyuho Lee
e93fb56037
clientv3: clean up variables, add response dropping warning
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-22 17:59:38 -07:00
Gyuho Lee
f3385418bb
clientv3: fix keepalive send interval when response queue is full
...
client should update next keepalive send time
even when lease keepalive response queue becomes full.
Otherwise, client sends keepalive request every 500ms
regardless of TTL when the send is only expected to happen
with the interval of TTL / 3 at minimum.
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-22 17:59:32 -07:00
Gyuho Lee
90a5da18cf
clientv3: clean up code format
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-21 16:03:12 -07:00
Joe Betz
bbe2d777b1
lease: Add LessorConfig and wire zap logger into Lessor
2018-07-17 13:10:34 -07:00
Gyuho Lee
dbccfe06fb
clientv3/balancer: debugging balancer test failures
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-05 12:18:13 -07:00
Gyuho Lee
7e542078bc
clientv3/balancer: skip "TestRoundRobinBalancedResolvableFailoverFromServerFail" for now
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-07-05 11:57:45 -07:00
Joe Betz
4b51b6de49
*: Add progress notify request watch request
2018-06-27 16:46:13 -07:00
Gyuho Lee
11ead62b9d
clientv3: clarify "WithRequireLeader" for network partition
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-20 10:28:41 -07:00
Gyuho Lee
6d15396bc7
clientv3: add link to architecture docs
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-18 13:51:20 -07:00
Joe Betz
8451a1715f
clientv3: Enable balancer logging if ETCD_CLIENT_DEBUG environment variable is set
2018-06-15 16:28:36 -07:00
Gyuho Lee
6e521d2f3f
clientv3: add "IsConnCanceled", deprecate "grpc.ErrClientConnClosing"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 14:47:08 -07:00
Gyuho Lee
a76681073d
clientv3: add "zap.Config" to replace global logger
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
Gyuho Lee
08da08bb19
clientv3: clarify retry function names, do not retry on dial error
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
Gyuho Lee
dd520cebd4
clientv3: put "defaultCallOpts" back to "Client" object
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
Gyuho Lee
a3032d3d0b
*: fix fmt tests, reenable "testEmbedEtcdGracefulStop"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
Joe Betz
3b84117f54
clientv3/integration: Add err check to TestDialTLSNoConfig to prevent nil pointer dereference on c.Close()
2018-06-15 13:41:28 -07:00
Joe Betz
55ef9cc1d0
clientv3: Add auth retry to retry interceptor
2018-06-15 13:41:28 -07:00
Joe Betz
a5b2fb5563
clientv3: Introduce custom retry interceptor based on go-grpc-middleware/retry
2018-06-15 13:41:28 -07:00
Gyuho Lee
4065735845
clientv3: remove unused "dialerrc"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
Joe Betz
1f6548b751
clientv3: Stop expecting retry in integration tests with new grpc balancer
2018-06-15 13:41:28 -07:00
Joe Betz
8569b9c782
clientv3: Fix endpoint resolver to create a new resolver for each grpc client connection
2018-06-15 13:41:28 -07:00
Joe Betz
9304d1abd1
clientv3: Fix TLS test failures by returning DeadlineExceeded error from dial without any additional wrapping
2018-06-15 13:41:28 -07:00
Joe Betz
ee2747eba8
clientv3: Fix dial calls to consistently use endpoint resolver, attempt to deflake alarm test
2018-06-15 13:41:28 -07:00
Joe Betz
f84f554301
clientv3: Fix auth client to use endpoints instead of host when dialing, fix tests to block on dial when required.
2018-06-15 13:41:28 -07:00
Joe Betz
66e65cd660
clientv3: Avoid timeouts in ordering test
2018-06-15 13:41:28 -07:00
Gyuho Lee
bb032f3e5f
clientv3: deprecate "grpc.WithTimeout" in favor of "grpc.DialContext"
...
"grpc.WithTimeout" dial option is being deprecated.
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
Gyuho Lee
994a569f53
clientv3: pass "grpc.WithBlock" on "TestDialTimeout"
...
Otherwise, grpc.DialContext would just return before
connection is up.
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
Gyuho Lee
037d7b4abe
clientv3: dial with context when creating authenticator
...
Otherwise, "grpc.Dial" blocks when "grpc.WithTimeout" dial
option gets deprecated.
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
Joe Betz
7ac2a2dd20
clientv3: Fix dialer for new balancer to correctly handle first are as endpoint, not hostname
2018-06-15 13:41:28 -07:00
Joe Betz
309208dbef
clientv3: Split out grpc balancer builder to ensure there is a balancer per ClientConn
2018-06-15 13:41:28 -07:00
Joe Betz
f20a1173d8
clientv3: Fix new load balancer integration issues
2018-06-15 13:41:28 -07:00
Joe Betz
6080fa1270
clientv3: Integrate new grpc load balancer interface with etcd client
2018-06-15 13:41:28 -07:00
Joe Betz
ed6bc2b554
clientv3: add load balancer unix socket test
2018-06-15 13:41:28 -07:00
Joe Betz
4d2a25b056
clientv3/balancer: add endpoints resolver
2018-06-15 13:41:28 -07:00
Gyuho Lee
9867210a54
clientv3/balancer: add "TestRoundRobinBalancedPassthrough" (WIP)
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
Gyuho Lee
370761de82
clientv3/balancer: add more failover tests with resolver
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
Gyuho Lee
7c92185fe3
clientv3/balancer: use new mock server in tests
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
Joe Betz
657c2e15cc
*: introduce mock server for testing load balancing and add a simple happy-path load balancer test
...
Author: Joe Betz <jpbetz@google.com>
Date: Wed Mar 28 15:51:33 2018 -0700
2018-06-15 13:41:28 -07:00
Gyuho Lee
7fe4a08fdc
clientv3/balancer: initial commit
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-06-15 13:41:28 -07:00
Jordan Liggitt
d1579c95a2
clientv3: backoff on reestablishing watches when Unavailable errors are encountered
2018-06-13 02:05:04 -04:00
Gyuho Lee
7284e5a0a9
clientv3/integration: fix "TestMaintenanceSnapshotErrorInflight"
...
Errors from gRPC should be typed *status.statusError
=== RUN TestMaintenanceSnapshotErrorInflight
WARNING: 2018/05/29 11:43:21 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial unix localhost:55815860381826373260: connect: no such file or directory"; Reconnecting to {localhost:55815860381826373260 0 <nil>}
--- FAIL: TestMaintenanceSnapshotErrorInflight (2.42s)
maintenance_test.go:192: expected context deadline exceeded, got rpc error: code = DeadlineExceeded desc = context deadline exceeded
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-29 11:49:18 -07:00