Anthony Romano
5e963608b7
clientv3: do not treat Internal codes as halting
...
Fixes #6277
2016-08-28 20:20:22 -07:00
Anthony Romano
267063efd0
clientv3: use grpc codes to translate raw grpc errors
2016-08-26 09:22:09 -07:00
Anthony Romano
3eadf964f4
clientv3: use failfast and retry wrappers for at-most-once rpcs
2016-08-16 10:49:50 -07:00
Anthony Romano
46765ad79c
clientv3: respect up/down notifications from grpc
...
Fixes #5842
2016-08-16 09:49:36 -07:00
Anthony Romano
429d5ab20b
clientv3: only block on New() when DialTimeout > 0
...
Fixes #6162
2016-08-12 10:33:11 -07:00
Anthony Romano
8abae076d1
rpctypes, clientv3: retry RPC on EtcdStopped
...
Fixes #5983
2016-07-19 18:29:12 -07:00
Gyu-Ho Lee
5225a4e4bc
clientv3: fix client for grpc change
...
Fix https://github.com/coreos/etcd/issues/5638 .
2016-06-10 20:40:46 -07:00
Anthony Romano
349eaf117a
clientv3: use separate dialopts for auth dial
...
Needs to use a different balancer from the main client connection
because of the way grpc uses the Notify channel.
2016-06-09 10:38:57 -07:00
Anthony Romano
4a13c9f9b3
clientv3: use grpc balancer
2016-06-08 09:24:13 -07:00
Anthony Romano
62f8ec25c0
clientv3: use grpc reconnection logic
2016-06-08 01:04:59 -07:00
Anthony Romano
7dfe7db243
clientv3: panic if ActiveConnection tries to return non-nil connection
2016-06-03 10:25:20 -07:00
Anthony Romano
5f5a203e27
clientv3: don't hold client lock while dialing
...
Causes async reconnect to block while the client is dialing.
This was also causing problems with the Close error message, so
now Close() will return the last dial error (if any) instead of
clearing it out with a cancel().
Fixes #5416
2016-06-03 10:25:20 -07:00
Anthony Romano
22744566f4
clientv3: hide retry dial api
2016-06-01 11:36:16 -07:00
Gyu-Ho Lee
7b5657cf1a
clientv3: check if KV.Client is closed
...
For https://github.com/coreos/etcd/issues/5495 .
2016-05-31 12:00:19 -07:00
Anthony Romano
9dc0782f45
clientv3: handle URL scheme when given in endpoint
...
Fixes #5427
2016-05-25 18:01:36 -06:00
James Shubin
edca3cbe44
clientv3: Fix typos
...
Found randomly when going through docs. HTH
2016-05-20 14:06:29 -04:00
Anthony Romano
782a8802c0
clientv3: avoid reusing closed connection in KV
2016-05-18 14:46:17 -07:00
Hitoshi Mitake
6259318521
*: attach auth token as a gRPC credential
...
This commit adds a functionality of attaching an auth token to gRPC
connection as a per RPC credential.
For doing this, this commit lets clientv3.Client.Dial() create a
dedicated gRPC connection for doing authentication. With the dedicated
connection, the client calls Authenticate() RPC and obtain its
token. The token is attached to the main gRPC connection with
grpc.WithPerRPCCredentials().
This commit also adds a new option --username to etcdctl (v3). With
this option, etcdctl attaches its auth token to the main gRPC
connection (currently it is not used at all).
2016-05-17 13:26:12 +09:00
Anthony Romano
e8101ddf09
clientv3: throttle reconnection rate
...
Client was reconnecting after establishing connections because the lease
and watch APIs were thrashing. Instead, wait a little before accepting
new reconnect requests.
2016-05-16 11:14:45 -07:00
Gyu-Ho Lee
fd9e07a529
clientv3: update LICENSE header
2016-05-12 20:50:58 -07:00
Gyu-Ho Lee
68eaf4083a
clientv3: WithRequireLeader
2016-05-12 19:25:42 -07:00
Anthony Romano
527aa1a499
clientv3: fix Close after failed Put
...
Was crashing on a nil connection. Reworked the shutdown path a little so
there's only one connection close site.
2016-05-12 16:16:27 -07:00
Anthony Romano
cdc8f99658
clientv3: rework reconnection logic
...
Avoids go routine flood for tight loops with a dead connection.
Now uses request ctx when reconnecting for immediate retry.
2016-05-05 19:30:11 -07:00
Gyu-Ho Lee
2e3d79a7bf
clientv3: convert errors to rpctypes on returning
...
For https://github.com/coreos/etcd/issues/5211 .
2016-04-28 15:39:37 -07:00
Xiang Li
802de5f9f8
clientv3: support read conf from file
2016-04-01 09:36:11 -07:00
Anthony Romano
c91b2d098d
clientv3: AlarmList and AlarmDisarm
2016-03-30 13:33:52 -07:00
Anthony Romano
161bc5e19c
clientv3: fix race when setting grpc Logger
...
grpc only permits SetLogger on init()
2016-03-28 23:30:03 -07:00
Gyu-Ho Lee
29fccb3221
clientv3: configurable grpc logger
2016-03-26 22:38:53 -07:00
Anthony Romano
bd832e5b0a
*: migrate Godeps to vendor/
2016-03-22 17:10:28 -07:00
Xiang Li
7c377fa703
*: add client.defrag and defrag cmd for etcdctl
2016-03-10 09:30:41 -08:00
Anthony Romano
78132c9b5b
clientv3: use tls.Config in clientv3.Config
...
Fixes #4648
2016-03-07 16:08:40 -08:00
Anthony Romano
d21d2e6624
clientv3: don't deadlock on Close with broken connection
...
Fixes #4679
2016-03-07 13:46:54 -08:00
Anthony Romano
360aafec76
clientv3: include a context in Client
...
Useful for clean up tasks
2016-03-04 09:20:44 -08:00
Anthony Romano
16c35167df
clientv3: do not reconnect on request context cancellation
2016-03-03 13:43:16 -08:00
Hitoshi Mitake
379d04ea53
clientv3: a new interface Auth for auth related RPCs
2016-03-02 15:17:59 +09:00
Anthony Romano
5f62c05a6d
clientv3: compose all clientv3 APIs into client struct
2016-02-25 18:13:26 -08:00
Anthony Romano
c5b51946eb
*: exported godoc fixups
2016-02-21 20:36:44 -08:00
Xiang Li
bc3fc4ea33
*: add etcdserver namespace for rpc error
2016-02-05 15:13:24 -08:00
Xiang Li
7a91108b91
clientv3: add no endpoint error
2016-02-02 11:01:58 -08:00
Anthony Romano
b74a42b286
clientv3: support unix endpoints
2016-02-01 22:24:42 -08:00
Anthony Romano
20461ab11a
*: fix many typos
2016-01-31 21:42:39 -08:00
Anthony Romano
f37c896159
clientv3: support tls
2016-01-29 16:37:18 -08:00
Anthony Romano
64413927cc
clientv3: support connection timeout
2016-01-28 13:25:45 -08:00
Xiang Li
a3b7876a3c
clientv3: use retryConnection
2016-01-27 22:31:15 -08:00
Anthony Romano
2db2f381fb
clientv3: connection retry and customizable endpoint selection
2016-01-27 19:27:31 -08:00
Anthony Romano
5ccf7f5151
clientv3: small client wrapper
...
mostly to standardize etcd grpc dials
2016-01-27 12:13:12 -08:00