11586 Commits

Author SHA1 Message Date
Gyu-Ho Lee
30552e28ed Merge pull request #7766 from gyuho/url
embed: use '*url.URL.Hostname(),Port()' for Go 1.8
2017-04-18 13:16:13 -07:00
Gyu-Ho Lee
f10a70401b embed: use '*url.URL.Hostname(),Port()' for Go 1.8
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-18 12:08:59 -07:00
Gyu-Ho Lee
94044cee4f Merge pull request #7765 from gyuho/mutex-profile
pkg/debugutil: add 'mutex' profiler (Go 1.8+)
2017-04-18 11:34:23 -07:00
Gyu-Ho Lee
5161b74799 pkg/debugutil: add 'mutex' profiler (Go 1.8+)
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-18 10:56:06 -07:00
Gyu-Ho Lee
dd0d590217 Merge pull request #7764 from gyuho/NEWS
NEWS: update v3.1.6
2017-04-18 10:31:13 -07:00
Gyu-Ho Lee
2511535ea0 NEWS: update v3.1.6
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-18 10:09:53 -07:00
Anthony Romano
714b48a4b4 etcdserver: initialize raftNode with constructor
raftNode was being initialized in start(), which was causing
hangs when trying to stop the etcd server since the stop channel
would not be initialized in time for the stop call. Instead,
setup non-configurable bits in a constructor.

Fixes #7668
2017-04-18 09:33:59 -07:00
Anthony Romano
8fdf8f752b Merge pull request #7752 from heyitsanthony/clientv3-fetch-keyspace-pfx
clientv3: translate WithPrefix() into WithFromKey() for empty key
2017-04-18 09:24:53 -07:00
Xiang Li
6dd807481c Merge pull request #7758 from a-robinson/leak
raft: Avoid holding unneeded memory in unstable log's entries array
2017-04-18 08:27:40 -07:00
Alex Robinson
45406d8486 raft: Avoid holding unneeded memory in unstable log's entries array
Accumulation of old entries in the underlying array backing the
entries slice has been found to cause massive memory growth in
CockroachDB for workloads that do large (1MB) writes
(https://github.com/cockroachdb/cockroach/issues/14776)

This doesn't appear to have much consistent effect on the raft
benchmarks, although it's worth noting that they vary quite a bit
between runs so it's kind of tough to draw strong conclusions from them.
Let me know if there are any different benchmarks you'd like me to run!

Fixes #7746

benchmark              old ns/op     new ns/op     delta
BenchmarkOneNode-8     3283          3125          -4.81%

benchmark              old allocs     new allocs     delta
BenchmarkOneNode-8     6              6              +0.00%

benchmark              old bytes     new bytes     delta
BenchmarkOneNode-8     796           727           -8.67%

benchmark                     old ns/op     new ns/op     delta
BenchmarkProposal3Nodes-8     4269          4337          +1.59%

benchmark                     old allocs     new allocs     delta
BenchmarkProposal3Nodes-8     15             13             -13.33%

benchmark                     old bytes     new bytes     delta
BenchmarkProposal3Nodes-8     5839          4544          -22.18%
2017-04-18 10:55:16 -04:00
Xiang Li
4fcea334ad Merge pull request #7737 from gyuho/aaa
*: clean up for Go 1.8+
2017-04-18 03:37:43 -07:00
Gyu-Ho Lee
8aaa1ed911 *: use '*tls.Config.Clone' in Go 1.8
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-17 20:08:27 -07:00
Gyu-Ho Lee
99a2d6c4b1 integration: use 'time.Until' in Go 1.8
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-17 20:08:27 -07:00
Gyu-Ho Lee
cbe37e5213 travis: bump up to Go 1.8.1
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-17 20:08:27 -07:00
Hitoshi Mitake
e7e7451213 Merge pull request #7689 from mitake/bench-leader
benchmark: a new flag --target-leader for targetting a leader endpoint
2017-04-18 10:24:24 +09:00
Gyu-Ho Lee
e771c6042b Merge pull request #7743 from gyuho/shutdown-grpc-server
*: use gRPC server GracefulStop
2017-04-17 17:12:52 -07:00
Gyu-Ho Lee
c011e2ddd5 Merge pull request #7755 from gyuho/auth-test
clientv3/integration: add 'TestUserErrorAuth'
2017-04-17 17:12:24 -07:00
Gyu-Ho Lee
81291b23b1 clientv3/integration: add 'TestUserErrorAuth'
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-17 17:11:37 -07:00
Gyu-Ho Lee
c798f81398 Merge pull request #7753 from gyuho/helper
etcdserver: fill-in Auth API Header in apply layer
2017-04-17 15:18:46 -07:00
Anthony Romano
8a5f085a65 *: add bill of materials 2017-04-17 14:50:55 -07:00
Anthony Romano
cb979bc2cc vendor: update gopkg.in/yaml.v2 to reflect current license 2017-04-17 14:34:59 -07:00
Gyu-Ho Lee
253e5a90bb integration: test auth API response header revision
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-17 14:26:30 -07:00
Hitoshi Mitake
ac69e63fa8 etcdserver: fill-in Auth API Header in apply layer
Replacing "etcdserver: fill a response header in auth RPCs"
The revision should be set at the time of "apply",
not in later RPC layer.

Fix https://github.com/coreos/etcd/issues/7691

Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-17 14:26:26 -07:00
Gyu-Ho Lee
5000d29b4a mvcc: remove stopc select case in Hash
Revert change in 33acbb694b.

Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-17 14:19:48 -07:00
Gyu-Ho Lee
8ffd58fb3b mvcc/backend: remove t.tx.DB()==nil checks with GracefulStop
Revert https://github.com/coreos/etcd/pull/6662.

Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-17 14:17:00 -07:00
Gyu-Ho Lee
cd470f9ccd Revert "mvcc: test inflight Hash to trigger Size on nil db"
This reverts commit 994e8e4f40397aca54640af52d763d250693919e.

Since now etcdserver gracefully shuts down the gRPC server
2017-04-17 14:15:43 -07:00
Gyu-Ho Lee
472a536052 integration: test 'inflight' range requests
- Test https://github.com/coreos/etcd/issues/7322.
- Remove test case added in https://github.com/coreos/etcd/pull/6662.

Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-17 14:15:36 -07:00
Gyu-Ho Lee
c407e097e2 embed: gracefully shut down gRPC server
Fix https://github.com/coreos/etcd/issues/7322.

Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-17 14:12:40 -07:00
Gyu-Ho Lee
ea5f6dab6b etcdmain: trigger embed.Etcd.Close for OS interrupt
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-17 14:07:16 -07:00
Anthony Romano
0d52598fc1 Merge pull request #7754 from heyitsanthony/doc-check-v3-data
op-guide: add command for checking if there's any v3 data
2017-04-17 14:05:57 -07:00
Anthony Romano
cf8ab8c7a6 op-guide: add command for checking if there's any v3 data
Fixes #7681
2017-04-17 12:31:21 -07:00
Hitoshi Mitake
6b030ed7db benchmark: a new flag --target-leader for targetting a leader endpoint
Current benchmark picks destinations of RPCs in a random
manner. However, it will result divergent benchmarking result because
RPCs other than serializable range must be forwarded to a leader node
when a follower node receives it. This commit adds a new flag
--target-leader for avoid the problem. If the flag is passed,
benchmark always picks an endpoint of a leader node.
2017-04-17 14:24:35 +09:00
Hitoshi Mitake
6ad9d1609a Merge pull request #7717 from mitake/auth-output-fields
etcdctl: show responses of auth RPCs if --write-output=fields is passed
2017-04-17 14:12:59 +09:00
Anthony Romano
f92c11e1f2 clientv3: translate WithPrefix() into WithFromKey() for empty key 2017-04-16 20:47:18 -07:00
Anthony Romano
f0143916de clientv3/integration: test fetching entire keyspace 2017-04-16 20:47:18 -07:00
Xiang Li
7e3dd74314 Merge pull request #7748 from darasion/master
clientv3/namespace: fix incorrect watching prefix-end
2017-04-15 15:17:35 -07:00
darasion
0e7fd4a37c clientv3/namespace: fix incorrect watching prefix-end
using "abc" will watch the wrong range when WithPrefix() specified.
2017-04-15 22:31:50 +08:00
Anthony Romano
e2d0db95eb Merge pull request #7744 from heyitsanthony/fix-auth-stop-race
auth: fix race on stopping simple token keeper
2017-04-14 12:38:47 -07:00
Anthony Romano
2951e7f6e4 Merge pull request #7733 from heyitsanthony/fix-client-foreign-dial
clientv3: let client dial endpoints not in the balancer
2017-04-14 10:45:17 -07:00
Anthony Romano
fdf7798137 auth: fix race on stopping simple token keeper
run goroutine was resetting a field for no reason and without holding a lock.
This patch cleans up the run goroutine management to make the start/stop path
less racey in general.
2017-04-14 09:50:33 -07:00
Hitoshi Mitake
8efc42e25f etcdctl: show responses of auth RPCs if --write-output=fields is passed 2017-04-14 11:48:42 +09:00
Gyu-Ho Lee
cfbc5e5c3b Merge pull request #7706 from gyuho/wait-apply-conf-change
etcdserver: wait apply on conf change Raft entry
2017-04-13 16:54:06 -07:00
Gyu-Ho Lee
04354f32ab etcdserver: wait apply on conf change Raft entry
When apply-layer sees configuration change entry in
raft.Ready.CommittedEntries, the server should not proceed
until that entry is applied. Otherwise, follower's raft
layer advances, possibly election-timeouts, and becomes
the leader in single-node cluster, before add-node conf
change of other nodes is applied.

Fix https://github.com/coreos/etcd/issues/7595.

Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-13 15:59:24 -07:00
Xiang Li
957c9cd1df Merge pull request #7734 from mitake/status-auth
etcdserver: let Status() not require authentication
2017-04-13 15:53:33 -07:00
Anthony Romano
8fdfac2843 Merge pull request #7730 from heyitsanthony/return-member-list
*: return updated member list in v3 rpcs
2017-04-13 15:39:38 -07:00
Anthony Romano
1153e1e7d9 Merge pull request #7687 from heyitsanthony/deny-tls-ipsan
transport: deny incoming peer certs with wrong IP SAN
2017-04-13 15:03:25 -07:00
Gyu-Ho Lee
7607ace95a Merge pull request #7735 from gyuho/grpc-shutdown
pkg/transport: add 'IsClosedConnError'
2017-04-13 13:16:57 -07:00
Gyu-Ho Lee
6c2fb5105d clientv3/integration: use 'transport.IsClosedConnError'
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-13 11:55:23 -07:00
Gyu-Ho Lee
56b111df0c rafthttp: use 'transport.IsClosedConnError'
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-13 11:55:22 -07:00
Gyu-Ho Lee
8ce579aac9 pkg/transport: add 'IsClosedConnError'
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-04-13 11:55:18 -07:00