1caaa9ed4a
test: test update for Go 1.12.5 and related changes
...
Update to Go 1.12.5 testing. Remove deprecated unused and gosimple
pacakges, and mask staticcheck 1006. Also, fix unconvert errors related
to unnecessary type conversions and following staticcheck errors:
- remove redundant return statements
- use for range instead of for select
- use time.Since instead of time.Now().Sub
- omit comparison to bool constant
- replace T.Fatal and T.Fatalf in tests with T.Error and T.Fatalf respectively because the goroutine calls T.Fatal must be called in the same goroutine as the test
- fix error strings that should not be capitalized
- use sort.Strings(...) instead of sort.Sort(sort.StringSlice(...))
- use he status code of Canceled instead of grpc.ErrClientConnClosing which is deprecated
- use use status.Errorf instead of grpc.Errorf which is deprecated
Related #10528 #10438
2019-06-05 17:02:05 -04:00
34bd797e67
*: revert module import paths
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2019-05-28 15:39:35 -07:00
9150bf52d6
go modules: Fix module path version to include version number
2019-04-26 15:29:50 -07:00
daee668b75
client: Switch to case sensitive unmarshalling to be compatible with ugorji
...
Using lessons learned from k8s changes:
https://github.com/kubernetes/kubernetes/pull/65034
Change-Id: Ia17a8f94ae6ed00c5af2595c2b48d3c9a0344427
2019-04-23 16:54:44 -04:00
86e3481ba2
scripts: Remove generated code and script
...
Change-Id: Iac4601443bcad71920fd96b97bfe21c16116577a
2019-04-23 16:54:44 -04:00
90108a2e61
client: Replace ugorji/codec with json-iterator/go
...
We need to use the stdlib-compatible one that is case-sensitive, etc
Change-Id: Id0df573a70e09967ac7d8c0a63d99d6a49ce82f1
2019-04-23 16:54:44 -04:00
0ef9ef3c74
*: rerun "gofmt"
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2018-08-28 18:25:39 -07:00
d37f1521b7
*: update import paths to "go.etcd.io/etcd"
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2018-08-28 17:47:55 -07:00
75110dd839
*: fix naked returns
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-11-10 18:46:15 -08:00
f65aee0759
*: replace 'golang.org/x/net/context' with 'context'
...
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com >
2017-09-07 13:39:42 -07:00
43df091067
client: Return the server's cluster ID as part of the Response
...
This allows the client to spot if the cluster ID changes, which
would indicate that the cluster has been rebuilt and watches may be
out of sync.
Helps work around #6652 .
2016-10-24 14:51:00 +01:00
fb39e96862
client: change to 'NoValueOnSuccess'
2016-08-30 10:52:58 -07:00
82053f04b2
client: do not send previous node data (optional)
...
- Do not send back node data when specified
- remove node and prevNode when noDataOnSuccess is set
2016-08-30 10:04:09 -07:00
946b3cce1d
client: make set/delete one shot operations
...
Old behavior would retry set and delete even if there's an error. This
can lead to the client returning an error for deleting twice, instead
of returning an error for an interdeterminate state.
Fixes #5832
2016-07-07 15:51:08 -07:00
ef44f71da9
*: update LICENSE header
2016-05-12 20:51:48 -07:00
bd832e5b0a
*: migrate Godeps to vendor/
2016-03-22 17:10:28 -07:00
7b57550484
client: minor typo fix
2016-02-26 15:16:00 -05:00
c5b51946eb
*: exported godoc fixups
2016-02-21 20:36:44 -08:00
82778ed478
Add refresh parameter to allow TTL refreshes without firing watch/wait responses
2016-02-08 10:37:37 -07:00
5490db7cca
client: fix typo in docstring (than -> then)
2016-01-28 18:07:39 +01:00
3ac8ff3a84
client: keys.go minor typo
2016-01-13 11:02:37 -08:00
4eb598be06
client: regenerate code to unmarshal key response
...
Regenerate code for unmarshaling key response with a new version of
ugorji/go/codec
2015-10-09 10:59:42 +02:00
2f558e56d2
client: add Nodes to codecgen and regenerate
2015-09-10 11:51:59 -07:00
eb51901830
client: add Nodes type to faciliate sorting
...
This helps users to sort easily.
2015-09-10 11:03:12 -07:00
d412eaa3a2
Merge pull request #3308 from yichengq/go-codec
...
Use ugorji codec for unmarshalling key responses in client
2015-09-01 14:04:38 -07:00
952827157a
client: fixed typo in WatcherOptions docs
...
specifices -> specifies
2015-08-18 16:43:09 -07:00
69fc796926
client: spelling error in docs (occured -> occurred)
2015-08-18 16:26:52 -07:00
087061e434
Merge pull request #3303 from yichengq/auth-path
...
use canonical path for auth
2015-08-18 12:06:48 -07:00
b5ec7f543a
client: use canonical url path in request
...
The main change is that it keeps the trailing slash. This helps
auth feature to judge path permission accurately.
2015-08-18 08:59:48 -07:00
87f061bab2
*: key handler should write auth error as etcd error
2015-08-17 14:45:45 -07:00
7083828ae3
Godeps: import github.com/ugorji/go/codec
2015-08-16 18:13:44 -07:00
a364af72af
client: use ugorij/go/codec to unmarshal key response
...
This change speeds up response unmarshal ~2x:
```
BenchmarkSmallResponseUnmarshal 20000 75243 ns/op
BenchmarkManySmallResponseUnmarshal 200 6629661 ns/op
BenchmarkMediumResponseUnmarshal 1000 1359041 ns/op
BenchmarkLargeResponseUnmarshal 20 61600978 ns/op
```
2015-08-16 18:08:54 -07:00
6312e22b1d
client: handle empty watch responses elegantly
...
Even though current etcd does not time out
watches, the client could be running against
an old etcd version or the server may close
polling connection for other reasons.
This patch ignores successful (as in 200)
responses with emtpy bodies instead
of producing JSON errors.
2015-08-03 11:47:21 -07:00
b20b87893f
client: add Quorum option in getOption
2015-07-22 15:19:34 -07:00
d2dac0fe59
client: consume json error and return ErrInvaildJSON
...
The default JSON error is not very readable. We let client
consume the error and return a more understandable error in
the context of etcd.
Fix #3120
2015-07-21 12:53:21 -07:00
e3fcc450cf
etcdctl: make rm use etcd/client
2015-07-21 12:53:19 -07:00
48e144ae2e
client: Support creating directory through KeysAPI
...
Creating a directory is done using the Set() method and a SetOptions
struct with it's Dir field set to true.
2015-05-07 10:47:18 -07:00
ee9e336fd4
client: add Node.TTLDuration()
2015-05-05 15:03:24 -07:00
d89a8628c6
client: Add CreateInOrder method to client.KeysAPI
...
Allows creating nodes within a given directory with atomically increasing
keys
2015-04-13 17:23:17 -07:00
666a97271d
client: add dir/ttl fields into node
2015-04-06 21:47:20 -07:00
ece03fb987
client: drop unnecessary field deleteAction.Value
2015-02-28 10:45:21 -08:00
cd85451971
client: clarify relationship of AfterIndex and waitIndex
2015-02-28 10:45:20 -08:00
b174732812
client: introduce Error type
2015-02-28 10:38:47 -08:00
8fdc6b154e
client: document PrevExistType
2015-02-28 10:38:47 -08:00
27de5eec76
client: document Response and Node structs
2015-02-28 10:38:47 -08:00
1c03df62a5
client: WaitIndex -> AfterIndex
2015-02-28 10:38:46 -08:00
a834f297f9
client: document KeysAPI methods
2015-02-28 10:22:52 -08:00
479a17dcbf
client: add GetOptions.Sort
2015-02-28 10:22:52 -08:00
84ede6fbec
client: use options struct for KeysAPI.Get
2015-02-28 10:22:52 -08:00
932351a00d
client: document Watcher.Next
2015-02-28 10:22:52 -08:00