78c957df41
Merge pull request #5603 from heyitsanthony/clientv3-close-keepalive
...
clientv3: close keepalive channel if TTL locally exceeded
2016-06-09 09:44:32 -07:00
0554ef9c39
clientv3/integration: tests for closing lease channel
2016-06-09 09:12:59 -07:00
753073198f
clientv3/integration: WaitLeader to follower
...
Fix https://github.com/coreos/etcd/issues/5601 .
2016-06-08 16:45:32 -07:00
62f8ec25c0
clientv3: use grpc reconnection logic
2016-06-08 01:04:59 -07:00
83ce1051ff
auth: make naming consistent
2016-06-07 10:54:50 -07:00
0cb4dd4331
clientv3/integration: test lease closed connection
...
Tests if lease operations return ErrConnClosed when
the client is closed.
2016-06-03 16:41:32 -07:00
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
75dc10574a
clientv3: watch resp with error when client close
2016-06-01 10:39:48 -07:00
a83051d0fc
clientv3: don't panic on Get if NewKV is created with a closed client
2016-06-01 05:53:21 -07:00
1d88130522
clientv3: fix deadlock on Get with concurrent Close
2016-06-01 05:53:21 -07:00
7b5657cf1a
clientv3: check if KV.Client is closed
...
For https://github.com/coreos/etcd/issues/5495 .
2016-05-31 12:00:19 -07:00
e4a2dcad9e
clientv3/integration: ignore closing transport in TestKVPutStoppedServerAndClose
...
The grpc "transport is closing" error is rasied when the host is unreachable;
there's no good way to avoid it for a Put.
Fixes #5343
2016-05-18 14:49:39 -07:00
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
c7c0e1eb7a
integration: remove parallel testing
...
We cannot do testing in parallel since leak testing will detect the goroutines
in other tests running in parallel.
2016-05-13 12:01:25 -07:00
fd9e07a529
clientv3: update LICENSE header
2016-05-12 20:50:58 -07:00
68eaf4083a
clientv3: WithRequireLeader
2016-05-12 19:25:42 -07:00
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
8b52fd0d2d
clientv3: gracefully handle watcher resume on compacted revision
...
Fixes #5239
2016-05-03 09:30:53 -07:00
b3ebe66c97
clientv3/integration: tests with new errors
2016-04-29 12:00:26 -07:00
f148f4b2b9
clientv3/integration: tests error types (rpctypes)
2016-04-28 15:42:27 -07:00
af1a0b60e2
etcdserver: respond with ttl=0 for revoked lease keep alive
...
Fixes #5172
2016-04-26 13:53:20 -07:00
b7ac758969
*: rename storage package to mvcc
2016-04-25 15:25:51 -07:00
da5bd04a1a
clientv3: Remove superflous LeaseID casts in integration tests.
...
The integration tests under clientv3 have superflous LeaseID casts
that are not needed as the ID field of the lease responses are of
type LeaseID now.
2016-04-15 17:48:20 -07:00
e3fd246414
clientv3: fix KeepAliveOnce return error message
2016-04-11 08:13:36 +08:00
a9f1d5dfa6
clientv3/integration: use clientv3 event types
...
Fix https://github.com/coreos/etcd/issues/5001 .
2016-04-07 19:29:32 -07:00
dc17eaace7
*: rename Lease Create to Grant
...
Creating a lease through the client API interface union looked like
"c.Create(...)"-- the method name wasn't very descriptive.
2016-04-07 12:28:14 -07:00
aa11dafaf8
clientv3: expose event type in user API
...
- add another layer of abstraction in clientv3 for user, not expose internal storagepb ones
- provide commonly used routines IsCreate(), IsModify() on event
2016-04-07 09:47:04 -07:00
e72591b4a2
clientv3/integration: fix watch range test typo
2016-04-06 21:12:07 -07:00
88306c9fa7
etcdserver, clientv3: let progressReportIntervalMilliseconds be private
...
progressReportIntervalMilliseconds (old
ProgressReportIntervalMilliseconds) is accessed by multiple goroutines
and it is reported as race.
For avoiding this report, this commit wraps the variable with
functions. They access the variable with atomic operations so the race
won't be reported.
2016-04-05 09:12:17 +09:00
b0cc0e443c
*: clean up if, bool comparison
2016-04-02 12:55:11 -07:00
d533c14881
Merge pull request #4876 from heyitsanthony/integration-races
...
*: fix races from clientv3/integration tests
2016-03-29 09:10:53 -07:00
096abb3f37
clientv3/integration: get quorum before watching in TestKVCompact
...
Fixes #4889
2016-03-28 22:18:10 -07:00
91dc6b29a6
clientv3/integration: fix race when setting progress report interval
2016-03-28 16:08:18 -07:00
88e738fcb6
Merge pull request #4844 from ajityagaty/polish_naming_conventions
...
clientv3: Renaming SortByCreatedRev to maintain consistency.
2016-03-23 09:27:34 -07:00
2bb417bfff
clientv3: Renaming SortByCreatedRev to maintain consistency.
...
Renamed SortByCreatedRev to SortByCreateRevision to be consistent
with the naming used for SortByModRevision.
2016-03-22 17:56:24 -07:00
bd832e5b0a
*: migrate Godeps to vendor/
2016-03-22 17:10:28 -07:00
606889a002
clientv3: Fix inconsistent naming convention in v3 client.
...
In order to have a consistent naming for variable/function names
pertaining to ModifiedRevision, all occurrences have been renamed
to ModRevision.
2016-03-22 14:58:11 -07:00
a001651bc1
clientv3: remove dependency on lease package
2016-03-17 11:52:34 -07:00
44753594ec
v3rpc: move errors to v3rpc/rpctypes
...
Fixes #4771
2016-03-17 11:52:34 -07:00
22065fe334
clientv3: fix mirror and add integration test
2016-03-13 18:27:45 -07:00
3886129f52
clientv3/integration: fix TestTxnWriteFail
...
It might take client request more than dialtimeout to fail when
we kill the connection when the client is sending request.
2016-03-09 14:03:51 -08:00
e026b79c87
clientv3/integration: do not remove client member in TestMemberRemove
...
Fixes #4716
2016-03-08 11:55:26 -08:00
4eeea5ccda
clientv3/integration: remove invalid future revision test
...
Future revisions are now supported, so test is outdated.
2016-03-07 15:52:34 -08:00
27316196d8
clientv3: add WithProgressNotify
...
Client side for https://github.com/coreos/etcd/issues/4628 .
2016-03-04 09:47:13 -08:00
1e16758029
clientv3: add Err() to WatchResponse
...
Checking for number of events as a failure condition was a kludge.
2016-03-03 15:21:04 -08:00
16c35167df
clientv3: do not reconnect on request context cancellation
2016-03-03 13:43:16 -08:00
eb327c690b
clientv3: support watcher ranges
2016-02-29 15:20:41 -08:00
d02b1c982f
clientv3: return closed channel on Watch() cancel
...
was returning nil; difficult to use correctly
Fixes #4626
2016-02-26 12:16:41 -08:00
a78604dacb
*: watch true cancel, created for wrong rev
...
This sets Created and Cancel true in pb.WatchResponse
when it has received wrong start revision instead of
panic. So that clientv3 can set 'Canceled' in WatchResponse
as well.
Fix https://github.com/coreos/etcd/issues/4610 .
2016-02-24 20:56:17 -08:00
a24d276891
clientv3: combine Watch, WatchPrefix with variadic
...
For https://github.com/coreos/etcd/issues/4598 .
2016-02-23 20:02:21 -08:00