Commit Graph

15711 Commits

Author SHA1 Message Date
7a50cd7074 raft/auorum: remove unused type 2019-08-09 08:39:44 -07:00
f786b6ba16 etcdserver: add "etcd_server_snapshot_apply_in_progress_total"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-08 14:02:13 -07:00
1c8ab76333 integration: test snapshot inflights metrics
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-08 14:01:54 -07:00
abdb7ca17b etcdserver/api: add "etcd_network_snapshot_send_inflights_total", "etcd_network_snapshot_receive_inflights_total"
Useful for deciding when to terminate the unhealthy follower.
If the follower is receiving a leader snapshot, operator may wait.

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-08 14:01:45 -07:00
629cb7aa5e agent: fix a data race and deadlock
add 1-size buffer for `errc`  to avoid deadlock of child goroutine
add a local variable to a void data race in `err`
when `case <-stream.Context().Done():` is taken
2019-08-08 12:23:08 -07:00
89e102365d Documentation/op-guide: update runtime configuration
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-08 09:25:29 -07:00
9018b3dc4d raft: let learners vote
It turns out that that learners must be allowed to cast votes.

This seems counter- intuitive but is necessary in the situation in which
a learner has been promoted (i.e. is now a voter) but has not learned
about this yet.

For example, consider a group in which id=1 is a learner and id=2 and
id=3 are voters. A configuration change promoting 1 can be committed on
the quorum `{2,3}` without the config change being appended to the
learner's log. If the leader (say 2) fails, there are de facto two
voters remaining. Only 3 can win an election (due to its log containing
all committed entries), but to do so it will need 1 to vote. But 1
considers itself a learner and will continue to do so until 3 has
stepped up as leader, replicates the conf change to 1, and 1 applies it.

Ultimately, by receiving a request to vote, the learner realizes that
the candidate believes it to be a voter, and that it should act
accordingly. The candidate's config may be stale, too; but in that case
it won't win the election, at least in the absence of the bug discussed
in:
https://github.com/etcd-io/etcd/issues/7625#issuecomment-488798263.
2019-08-08 09:10:21 -07:00
b9bea9def7 functional/agent: copy file, instead of renaming
To retain failure logs in CI testing.

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-08 09:09:39 -07:00
d2675c13f4 functional/rpcpb: make client log less verbose
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-08 09:09:34 -07:00
8230536171 functional.yaml: try lower snapshot count for flaky tests, error threshold
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-08 09:09:29 -07:00
524278c187 pkg/types: Avoid potential double lock of tsafeSet.
(tsafeSet).Sub and (tsafeSet).Equals can cause double lock bug if ts and other is pointing the same variable

gofmt the code and add some comments
2019-08-07 16:02:24 -07:00
29cdc9abfc test: output etcd server logs when functional tests fail
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-07 10:16:44 -07:00
a6a9a71b6a integration: fix a data race about err
don't share `err` between goroutines
2019-08-06 16:15:27 -07:00
8c8f6f4b01 mvcc: fix typo in test
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-06 15:09:55 -07:00
b6cfaf883b v3rpc: fix a typo err
don't read return value in child goroutine which causes data race.
2019-08-06 15:09:47 -07:00
b522281a98 stream: Prevent panic when newAttemptLocked fails to get a transport for the new attempt
Testing https://github.com/grpc/grpc-go/pull/2958

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-06 15:09:42 -07:00
a78793e6bf vendor: update gRPC to latest
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-06 15:09:37 -07:00
e09528aa06 Merge pull request #10988 from wenjiaswe/automated-cherry-pick-of-#10987-upstream-release-3.4
Automated cherry pick of #10987
2019-08-05 23:31:33 -07:00
cb4507d15b functional:update go.etcd.io/etcd link and go image registry for functional test 2019-08-05 23:28:45 -07:00
4cead3c25c Merge pull request #10986 from wenjiaswe/automated-cherry-pick-of-#10985-upstream-release-3.4
Automated cherry pick of #10985
2019-08-05 22:45:31 -07:00
3ac41644cc functional test: Update functional README.md 2019-08-05 22:12:50 -07:00
0564743c9b CHANGELOG: remove from release branch
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-05 14:39:18 -07:00
9d927afead Documentation/upgrades: highlight "grpc.ErrClientConnClosing"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-05 14:38:51 -07:00
5d19b96341 proxy/grpcproxy: deprecate "grpc.ErrClientConnClosing"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-05 14:38:44 -07:00
faa1d9d206 functional: deprecate "grpc.ErrClientConnClosing"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-05 14:38:35 -07:00
ab1db0dfd8 clientv3: deprecate "grpc.ErrClientConnClosing"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-05 14:38:27 -07:00
1c312cefbd functional: use Go 1.12.7 as default
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-05 12:40:50 -07:00
b4fcaad87d pkg/adt: remove TODO
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-05 00:25:02 -07:00
3468505e38 clientv3: document "WithBlock" dial option
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-04 23:53:02 -07:00
a2d68dd389 travis: do not allow CPU 4 test failures
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-04 23:34:31 -07:00
c6e9699960 travis: do not run coverage, tip tests in v3.4
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-04 23:33:13 -07:00
b05dfeb15e scripts/release: remove acbuild commands
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-04 23:21:51 -07:00
bb7df24af4 pkg/adt: fix interval tree black-height property based on rbtree
Author: xkey <xk33430@ly.com>
ref. https://github.com/etcd-io/etcd/pull/10978

Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-04 23:15:09 -07:00
9ff86fe516 tests/e2e: skip release tests until release candidate
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-03 00:09:10 -07:00
bc9a54beae tests/e2e: fix upgrade, metrics tests
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-02 15:58:25 -07:00
df1d3f7c6e functional: remove "embed" support in tests
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-02 15:58:21 -07:00
14053ba7f7 etcdserver/api: enable 3.4 capability
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-02 15:24:40 -07:00
040f2c5526 version: 3.4.0-pre
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 16:05:22 -07:00
f1c7fd3d53 functional: add "LogLevel" flags
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 15:58:01 -07:00
22a3ec3ac5 CHANGELOG-3.4: highlight version string change
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 15:30:04 -07:00
4244ea4390 CHANGELOG: update with latest changes, make language consistent
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 15:26:31 -07:00
d239b21d10 Documentation/upgrades: update 3.4 guides
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 15:26:16 -07:00
b679c12a51 Merge pull request #10968 from gyuho/mmm
mvcc: add "etcd_mvcc_range_total", "etcd_mvcc_txn_total"
2019-08-01 14:46:49 -07:00
328fdc2150 mvcc: add TODOs
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 14:45:21 -07:00
f82e23ab52 mvcc: add "etcd_mvcc_range_total", "etcd_mvcc_txn_total"
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 14:44:55 -07:00
dde3c5fc40 mvcc: clean up metrics names, add missing register calls
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 14:44:55 -07:00
05b2f967c2 Merge pull request #10969 from gyuho/maintainers
MAINTAINERS: add @spzala
2019-08-01 14:44:12 -07:00
8d88fea0c8 MAINTAINERS: add @spzala
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 14:24:24 -07:00
c9bd8db46a CHANGELOG: fix typos
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 14:11:50 -07:00
6804bd8af4 CHANGELOG: add latest metrics change
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-01 13:53:12 -07:00