ab5a69c | Yicheng Qin | 13 August 2015, 17:20:05 UTC | *: bump to v2.2.0-alpha.0 | 13 August 2015, 17:20:05 UTC |
976ce93 | Yicheng Qin | 13 August 2015, 00:02:27 UTC | Merge pull request #3277 from yichengq/better-log etcdserver: specify timeout caused by leader election | 13 August 2015, 00:02:27 UTC |
27170e6 | Yicheng Qin | 12 August 2015, 20:38:43 UTC | etcdserver: specify timeout caused by leader election Before this PR, the timeout caused by leader election returns: ``` 14:45:37 etcd2 | 2015-08-12 14:45:37.786349 E | etcdhttp: got unexpected response error (etcdserver: request timed out) ``` After this PR: ``` 15:52:54 etcd1 | 2015-08-12 15:52:54.389523 E | etcdhttp: etcdserver: request timed out, possibly due to leader down ``` | 12 August 2015, 23:53:18 UTC |
ddfe343 | Xiang Li | 12 August 2015, 20:51:32 UTC | Merge pull request #3271 from yichengq/doc-discovery docs: add discovery protocol doc | 12 August 2015, 20:51:32 UTC |
a45f0ed | Yicheng Qin | 12 August 2015, 16:44:45 UTC | docs: add discovery protocol doc This document talks about the technical details of discovery service protocol. It helps users to learn about how discovery service works and what behavior to expect. | 12 August 2015, 20:15:21 UTC |
7bd9d9a | Alex Polvi | 12 August 2015, 19:13:15 UTC | Merge pull request #3273 from polvi/kube-hack add etcd on k8s example | 12 August 2015, 19:13:15 UTC |
cfb3522 | Alex Polvi | 12 August 2015, 18:32:25 UTC | add etcd on k8s example | 12 August 2015, 19:12:00 UTC |
f468d8b | Xiang Li | 12 August 2015, 17:27:42 UTC | Merge pull request #3270 from xiang90/better_err Better error message for etcdctl | 12 August 2015, 17:27:42 UTC |
7e04a79 | Xiang Li | 12 August 2015, 17:09:56 UTC | etcdctl: print out better error information | 12 August 2015, 17:09:56 UTC |
5d06d4e | Xiang Li | 12 August 2015, 17:09:40 UTC | client: print url as string | 12 August 2015, 17:09:40 UTC |
e894756 | Xiang Li | 12 August 2015, 16:41:25 UTC | Merge pull request #3190 from yichengq/adjust-prop-timeout etcdserver: adjust proposal timeout based on config | 12 August 2015, 16:41:25 UTC |
c3d4d11 | Yicheng Qin | 12 August 2015, 04:22:05 UTC | etcdhttp: adjust request timeout based on config It uses heartbeat interval and election timeout to estimate the expected request timeout. This PR helps etcd survive under high roundtrip-time environment, e.g., globally-deployed cluster. | 12 August 2015, 16:22:59 UTC |
18ecc29 | Xiang Li | 12 August 2015, 15:05:50 UTC | Merge pull request #3254 from es-chow/log-group set groupID in multinode as log context so it can be logged | 12 August 2015, 15:05:50 UTC |
cc362cc | es-chow | 10 August 2015, 15:04:38 UTC | raft: set logger to raft so log context such as multinode groupID can be logged | 12 August 2015, 14:56:00 UTC |
5a91937 | Yicheng Qin | 12 August 2015, 04:09:03 UTC | etcdserver: adjust commit timeout based on config It uses heartbeat interval and election timeout to estimate the commit timeout for internal requests. This PR helps etcd survive under high roundtrip-time environment, e.g., globally-deployed cluster. | 12 August 2015, 04:09:03 UTC |
042afcf | Yicheng Qin | 11 August 2015, 23:21:13 UTC | Merge pull request #3266 from yichengq/client-readme client: clean up README | 11 August 2015, 23:21:13 UTC |
7d618c4 | Yicheng Qin | 11 August 2015, 22:33:56 UTC | client: clean up README Address rob's comments about sentences in README. | 11 August 2015, 22:33:56 UTC |
18a1c95 | Xiang Li | 11 August 2015, 21:17:12 UTC | Merge pull request #3263 from xiang90/ctl_tr etcdctl: add per request timeout | 11 August 2015, 21:17:12 UTC |
dceacac | Yicheng Qin | 11 August 2015, 20:35:54 UTC | Merge pull request #3194 from yichengq/client-readme client: add README | 11 August 2015, 20:35:54 UTC |
e36c499 | Xiang Li | 11 August 2015, 20:33:50 UTC | etcdctl: add per request timeout | 11 August 2015, 20:33:50 UTC |
8a7cf56 | Yicheng Qin | 29 July 2015, 21:49:54 UTC | client: add README It describes some basic usage and caveat of etcd/client package. Write it together with Xiang. | 11 August 2015, 19:07:24 UTC |
83efc08 | Yicheng Qin | 11 August 2015, 17:42:29 UTC | Merge pull request #3262 from yichengq/client-deadline client: return context.DeadlineExceeded instead of ClusterError | 11 August 2015, 17:42:29 UTC |
a1ef699 | Yicheng Qin | 11 August 2015, 17:18:38 UTC | client: return context.DeadlineExceeded instead of ClusterError This is done to match user expectation to see context.DeadlineExceeded when it reaches deadline. | 11 August 2015, 17:18:38 UTC |
1fe52e1 | Yicheng Qin | 11 August 2015, 17:10:42 UTC | Merge pull request #3245 from yichengq/client_timeout client: set timeout for each request | 11 August 2015, 17:10:42 UTC |
f4c29a5 | Yicheng Qin | 07 August 2015, 21:15:38 UTC | client: support to set timeout for each request Add HeaderTimeout field in Config, so users could set timeout for each request. Before this, one hanged request may block the call for long time. After this, if the network is good, the user could set short timeout and expect that API call can attempt next available endpoint quickly. | 11 August 2015, 17:01:05 UTC |
a718329 | Xiang Li | 10 August 2015, 20:59:03 UTC | Merge pull request #3248 from xiang90/v3 initial v3 demo | 10 August 2015, 20:59:03 UTC |
fb5e1ac | Xiang Li | 10 August 2015, 20:54:28 UTC | Merge pull request #3256 from xiang90/update_log update logger | 10 August 2015, 20:54:28 UTC |
6c58333 | Xiang Li | 10 August 2015, 20:38:19 UTC | etcdmain: use default formatter The default formatter would use syslog style when running under init system, and would use pretty format otherwise. | 10 August 2015, 20:38:22 UTC |
48e36bb | Xiang Li | 10 August 2015, 20:28:12 UTC | Godep: update capnslog dependency | 10 August 2015, 20:38:00 UTC |
b0ea4ab | Xiang Li | 10 August 2015, 18:22:55 UTC | doc: link to v3 api doc | 10 August 2015, 18:22:55 UTC |
c32919e | Xiang Li | 10 August 2015, 18:21:37 UTC | *: rename v3etcdctl to etcdctlv3 | 10 August 2015, 18:21:37 UTC |
c1e0b19 | Xiang Li | 10 August 2015, 16:53:17 UTC | *: better flag | 10 August 2015, 16:53:17 UTC |
48b1cd5 | Xiang Li | 09 August 2015, 17:56:51 UTC | Merge pull request #3243 from xiang90/conf doc: add runtime reconfiguration design doc | 09 August 2015, 17:56:51 UTC |
89bf582 | Xiang Li | 09 August 2015, 17:56:12 UTC | Merge pull request #3159 from sofuture/master use /usr/bin/env to find bash | 09 August 2015, 17:56:12 UTC |
601801c | Xiang Li | 07 August 2015, 20:35:18 UTC | doc: add runtime reconfiguration design doc | 09 August 2015, 17:55:34 UTC |
45f3a0c | Brandon Philips | 09 August 2015, 03:32:33 UTC | Merge pull request #3249 from philips/get-etcd-running-under-arm64 Get etcd running under arm64 | 09 August 2015, 03:32:33 UTC |
1239e1c | Jeff Zellner | 20 July 2015, 23:32:42 UTC | test, scripts: use /usr/bin/env to find bash use /usr/bin/env to find bash add set -e back into scripts it was removed from | 09 August 2015, 02:52:53 UTC |
1b894c6 | Brandon Philips | 09 August 2015, 00:45:13 UTC | test: race detector doesn't work on armv7l Test fails without this fix on armv7l: go test: -race is only supported on linux/amd64, freebsd/amd64, darwin/amd64 and windows/amd64 | 09 August 2015, 01:11:41 UTC |
fb19512 | Brandon Philips | 09 August 2015, 00:40:12 UTC | etcdserver: move atomics to make etcd work on arm64 Follow the simple rule in the atomic package: "On both ARM and x86-32, it is the caller's responsibility to arrange for 64-bit alignment of 64-bit words accessed atomically. The first word in a global variable or in an allocated struct or slice can be relied upon to be 64-bit aligned." Tested on a system with /proc/cpuinfo reporting: processor : 0 model name : ARMv7 Processor rev 1 (v7l) Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm CPU implementer : 0x41 CPU architecture: 7 CPU variant : 0x0 CPU part : 0xc0d CPU revision : 1 | 09 August 2015, 01:11:41 UTC |
9ff7075 | Xiang Li | 08 August 2015, 17:14:42 UTC | etcdserver: use v3server interface | 08 August 2015, 17:39:04 UTC |
523567b | Xiang Li | 08 August 2015, 12:58:58 UTC | v3etcdctl: initial v3 ctl support | 08 August 2015, 12:58:58 UTC |
f004b4d | Xiang Li | 08 August 2015, 12:58:29 UTC | *: etcdserver supports v3 demo | 08 August 2015, 12:58:29 UTC |
82afadb | Xiang Li | 08 August 2015, 12:29:18 UTC | etcdserverpb: update proto | 08 August 2015, 12:31:35 UTC |
668a8a8 | Xiang Li | 07 August 2015, 17:58:39 UTC | Merge pull request #3242 from xiang90/typo *: fix typos vaild->valid | 07 August 2015, 17:58:39 UTC |
845c51f | Xiang Li | 07 August 2015, 17:57:11 UTC | *: fix typos vaild->valid | 07 August 2015, 17:57:11 UTC |
f0a5874 | Yicheng Qin | 07 August 2015, 17:24:29 UTC | Merge pull request #3241 from yichengq/sync-pin client: Sync() pin the endpoint when member list doesn't change | 07 August 2015, 17:24:29 UTC |
0ab16db | Yicheng Qin | 06 August 2015, 23:20:53 UTC | client: Sync() pin the endpoint when member list doesn't change This helps client to pin the same endpoint as long as cluster doesn't change. | 07 August 2015, 17:08:28 UTC |
d7adcc3 | Xiang Li | 07 August 2015, 16:37:32 UTC | Merge pull request #3239 from xiang90/improve_probing rafthttp: use customized transport for probing | 07 August 2015, 16:37:32 UTC |
b6580a9 | Xiang Li | 06 August 2015, 22:45:28 UTC | rafthttp: use customized transport for probing We need to support TLS verification when probing. | 06 August 2015, 23:20:44 UTC |
d2363af | Xiang Li | 06 August 2015, 22:56:14 UTC | Merge pull request #3240 from xiang90/fix_log etcdmain: fix path printing | 06 August 2015, 22:56:14 UTC |
f03f048 | Yicheng Qin | 06 August 2015, 22:54:40 UTC | Merge pull request #3184 from yichengq/fast-bootstrap etcdserver: tick ElectionTicks before starting when bootstrap new cluster | 06 August 2015, 22:54:40 UTC |
1b572ae | Xiang Li | 06 August 2015, 22:53:24 UTC | etcdmain: fix path printing | 06 August 2015, 22:53:24 UTC |
21f5b88 | Yicheng Qin | 24 July 2015, 23:48:33 UTC | etcdserver: fast election timeout when bootstrap cluster The behavior accelarates the happen of the first-time leader election, so the cluster could elect its leader fast. Technically, it could help to reduce `electionMs - heartbeatMs` wait time for the first leader election. Main usage: 1. Quick start for the local cluster when setting a little longer election timeout 2. Quick start for the global cluster, which sets election timeout to its maximum 50s. | 06 August 2015, 22:44:26 UTC |
a637e86 | Yicheng Qin | 06 August 2015, 22:09:04 UTC | Merge pull request #3220 from yichengq/fix-auth-check etcdhttp: fix access check for multiple roles in auth | 06 August 2015, 22:09:04 UTC |
b9c6b64 | Xiang Li | 06 August 2015, 22:04:49 UTC | Merge pull request #3216 from yichengq/cancel-err client: return context canceled error correctly | 06 August 2015, 22:04:49 UTC |
b965c4b | Yicheng Qin | 06 August 2015, 22:00:04 UTC | Merge pull request #3217 from yichengq/update-migrate-example update commands used in admin_guide.md | 06 August 2015, 22:00:04 UTC |
78af793 | Yicheng Qin | 03 August 2015, 22:57:59 UTC | client: return context canceled error correctly If the body is closed to stop watching, it will ignore the error from reading body and return context error. Before this PR, the cancel when watching always returns error `read tcp 127.0.0.1:57824: use of closed network connection`. After this PR, it will return expected context canceled error. | 06 August 2015, 21:52:04 UTC |
b04bb3e | Xiang Li | 06 August 2015, 21:41:19 UTC | Merge pull request #3229 from xiang90/f_cerr client: return context.Canceled error when user cancels the request | 06 August 2015, 21:41:19 UTC |
25ad71f | Yicheng Qin | 06 August 2015, 21:40:38 UTC | Merge pull request #3225 from yichengq/client-record-err client: return correct error for 50x response | 06 August 2015, 21:40:38 UTC |
7314310 | Xiang Li | 06 August 2015, 21:35:22 UTC | Merge pull request #3233 from xiang90/srv_discovery better dns discovery error and doc | 06 August 2015, 21:35:22 UTC |
cfeaf3d | Yicheng Qin | 05 August 2015, 05:21:54 UTC | client: return correct error for 50x response etcd always returns 500/503 response when it may have no leader. So we should log the other 50x response in a normal way. This helps to log correctly when discovery meets 504 error. Before this PR, it logs like this: ``` 18:31:58 etcd2 | 2015/08/4 18:31:58 discovery: error #0: client: etcd member https://discovery.etcd.io has no leader 18:31:58 etcd2 | 2015/08/4 18:31:58 discovery: waiting for other nodes: error connecting to https://discovery.etcd.io, retrying in 4s ``` After this PR: ``` 22:20:25 etcd2 | 2015/08/4 22:20:25 discovery: error #0: client: etcd member https://discovery.etcd.io returns server error [Gateway Timeout] 22:20:25 etcd2 | 2015/08/4 22:20:25 discovery: waiting for other nodes: error connecting to https://discovery.etcd.io, retrying in 4s ``` | 06 August 2015, 21:25:03 UTC |
e9f05e8 | Xiang Li | 06 August 2015, 18:39:14 UTC | doc: explain srv error | 06 August 2015, 21:24:58 UTC |
2c2249d | Yicheng Qin | 06 August 2015, 19:17:49 UTC | Merge pull request #3219 from yichengq/limit-listener etcdmain: stop accepting client conns when it reachs limit | 06 August 2015, 19:17:49 UTC |
97923ca | Yicheng Qin | 04 August 2015, 18:36:24 UTC | etcdmain: close client conns when it exceeds limit This solves the problem that etcd may fatal because its critical path cannot get file descriptor resource when the number of clients is too big. The PR lets the client listener close client connections immediately after they are accepted when the file descriptor usage in the process reaches some pre-set limit, so it ensures that the internal critical path could always get file descriptor when it needs. When there are tons to clients connecting to the server, the original behavior is like this: ``` 2015/08/4 16:42:08 etcdserver: cannot monitor file descriptor usage (open /proc/self/fd: too many open files) 2015/08/4 16:42:33 etcdserver: failed to purge snap file open default2.etcd/member/snap: too many open files [halted] ``` Current behavior is like this: ``` 2015/08/6 19:05:25 transport: accept error: closing connection, exceed file descriptor usage limitation (fd limit=874) 2015/08/6 19:05:25 transport: accept error: closing connection, exceed file descriptor usage limitation (fd limit=874) 2015/08/6 19:05:26 transport: accept error: closing connection, exceed file descriptor usage limitation (fd limit=874) 2015/08/6 19:05:27 transport: accept error: closing connection, exceed file descriptor usage limitation (fd limit=874) 2015/08/6 19:05:28 transport: accept error: closing connection, exceed file descriptor usage limitation (fd limit=874) 2015/08/6 19:05:28 etcdserver: 80% of the file descriptor limit is used [used = 873, limit = 1024] ``` It is available at linux system today because pkg/runtime only has linux support. | 06 August 2015, 19:03:20 UTC |
203e0f1 | Xiang Li | 06 August 2015, 18:38:53 UTC | etcdmian: better error for srv discovery failure | 06 August 2015, 18:38:53 UTC |
01c286c | Xiang Li | 06 August 2015, 17:25:28 UTC | Merge pull request #3231 from xiang90/fallocate pkg/fileutil: support perallocate | 06 August 2015, 17:25:28 UTC |
39a4b6a | Xiang Li | 06 August 2015, 06:46:15 UTC | pkg/fileutil: support perallocate | 06 August 2015, 17:10:58 UTC |
9a8607f | Xiang Li | 06 August 2015, 07:16:28 UTC | Merge pull request #3187 from yichengq/client-keep-sync client: add KeepSync function | 06 August 2015, 07:16:28 UTC |
c53b301 | Yicheng Qin | 27 July 2015, 23:52:02 UTC | client: add AutoSync function AutoSync provides the way for client to syncing member list from etcd cluster automatically. | 05 August 2015, 20:22:56 UTC |
807a6f2 | Yicheng Qin | 03 August 2015, 23:52:35 UTC | docs/admin_guide: decouple example from CoreOS specific details This makes the example commands general, while keeping it easy to understand. It also fixes some name mismatch. | 05 August 2015, 18:33:46 UTC |
f38187b | Xiang Li | 05 August 2015, 16:52:30 UTC | client: return context.Canceled error when user cancels the request | 05 August 2015, 16:52:30 UTC |
ff0b872 | Xiang Li | 05 August 2015, 16:27:32 UTC | Merge pull request #2688 from xiang90/versioning etcdserver: internal request union | 05 August 2015, 16:27:32 UTC |
5850381 | Xiang Li | 15 April 2015, 17:58:56 UTC | etcdserver: internal request union | 05 August 2015, 14:47:10 UTC |
487639b | Xiang Li | 05 August 2015, 06:19:45 UTC | Merge pull request #3222 from mitake/wal-log-error wal: log errors in wal.Close() | 05 August 2015, 06:19:45 UTC |
9cbeffc | Xiang Li | 05 August 2015, 06:15:29 UTC | Merge pull request #3224 from xiang90/fix_ls etcdctl: ls takes / as default key arg | 05 August 2015, 06:15:29 UTC |
ba76e27 | Hitoshi Mitake | 05 August 2015, 02:09:08 UTC | wal: log errors in wal.Close() This patch adds error logging in wal.Close() if unlocking and destroying fail. Though it is hard to handling the errors, logging would be helpful for trouble shooting. | 05 August 2015, 06:03:45 UTC |
9527a97 | Xiang Li | 05 August 2015, 05:56:55 UTC | etcdctl: ls takes / as default key arg | 05 August 2015, 05:56:55 UTC |
718a42f | Xiang Li | 04 August 2015, 23:56:31 UTC | Merge pull request #3210 from xiang90/probing monitoring connectivity between peers | 04 August 2015, 23:56:31 UTC |
18169e8 | Yicheng Qin | 04 August 2015, 21:07:39 UTC | etcdhttp: fix access check for multiple roles in auth Check access for multiple roles should go through all roles. | 04 August 2015, 21:31:07 UTC |
0650170 | Yicheng Qin | 04 August 2015, 20:52:42 UTC | Merge pull request #3196 from eyakubovich/fix-watch-timeout client: handle watch timing out elegantly | 04 August 2015, 20:52:42 UTC |
1e048b5 | Xiang Li | 04 August 2015, 09:42:51 UTC | rafthttp: cleanup prober when stopping the transport | 04 August 2015, 09:42:51 UTC |
709718e | Xiang Li | 04 August 2015, 09:40:39 UTC | godeps: update probing pkg | 04 August 2015, 09:40:39 UTC |
0fc7642 | Xiang Li | 03 August 2015, 01:07:16 UTC | rafthttp: monitor connection | 04 August 2015, 09:39:40 UTC |
ff5c346 | Xiang Li | 04 August 2015, 03:48:06 UTC | Merge pull request #3197 from xiang90/health etcdctl: cluster-health supports forever flag | 04 August 2015, 03:48:06 UTC |
6312e22 | Eugene Yakubovich | 30 July 2015, 01:52:13 UTC | 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. | 03 August 2015, 18:47:21 UTC |
306085d | Xiang Li | 03 August 2015, 01:06:31 UTC | Godeps: add probing dependency | 03 August 2015, 01:07:43 UTC |
f7f00b0 | Xiang Li | 30 July 2015, 02:01:47 UTC | etcdctl: cluster-health supports forever flag cluster-health command supports checking the cluster health forever. | 01 August 2015, 14:29:08 UTC |
3da1df2 | Xiang Li | 01 August 2015, 11:47:17 UTC | Merge pull request #3207 from xiang90/rm_migration *: remove migration related stuff from 2.2 | 01 August 2015, 11:47:17 UTC |
2b8abeb | Xiang Li | 30 June 2015, 22:13:21 UTC | *: remove migration related stuff from 2.2 | 01 August 2015, 11:37:20 UTC |
eee1c8b | Xiang Li | 31 July 2015, 23:34:25 UTC | Merge pull request #3200 from xiang90/d_doc doc: unique names must be specified when using public discovery service | 31 July 2015, 23:34:25 UTC |
8bd9554 | Yicheng Qin | 31 July 2015, 21:41:45 UTC | Merge pull request #3202 from yichengq/fix-etcdctl-watch etcdctl: fix watch -after-index parsing | 31 July 2015, 21:41:45 UTC |
4a89b3f | Yicheng Qin | 31 July 2015, 18:55:42 UTC | Merge pull request #3116 from offscale/master build: implemented build shell-script for Windows | 31 July 2015, 18:55:42 UTC |
05b2d06 | Xiang Li | 31 July 2015, 11:04:35 UTC | Merge pull request #3199 from xiang90/sdnotify etcdmain: support sdnotify for readiness | 31 July 2015, 11:04:35 UTC |
4a0d8ee | Samuel Marks | 31 July 2015, 07:43:47 UTC | build: implemented build shell-script for Windows | 31 July 2015, 07:43:47 UTC |
0cbac56 | Xiang Li | 30 July 2015, 08:20:38 UTC | etcdmain: support sdnotify for readiness | 31 July 2015, 05:33:18 UTC |
beeecc3 | Xiang Li | 30 July 2015, 11:02:43 UTC | doc: unique names must be specified when using public discovery service | 31 July 2015, 01:12:44 UTC |
c1c5c7c | Barak Michener | 30 July 2015, 21:00:49 UTC | Merge pull request #3091 from barakmich/client_auth_cov etcdhttp: Improve test coverage surrounding auth | 30 July 2015, 21:00:49 UTC |
dd1a8fe | Barak Michener | 01 July 2015, 19:10:16 UTC | etcdhttp: Improve test coverage surrounding auth | 30 July 2015, 18:21:08 UTC |
1478850 | Yicheng Qin | 30 July 2015, 18:15:43 UTC | etcdctl: fix watch -after-index parsing It uses -after-index incorrectly now: ``` $ ./bin/etcdctl --debug watch -after-index 31 foo Cluster-Endpoints: http://localhost:2379, http://localhost:4001 cURL Command: curl -X GET http://localhost:2379/v2/keys/foo?recursive=false&wait=true&waitIndex=33 ``` After this PR: ``` $ ./bin/etcdctl --debug watch -after-index 31 foo Cluster-Endpoints: http://localhost:2379, http://localhost:4001 cURL Command: curl -X GET http://localhost:2379/v2/keys/foo?recursive=false&wait=true&waitIndex=32 ``` | 30 July 2015, 18:15:43 UTC |
219ed16 | Yicheng Qin | 30 July 2015, 01:16:26 UTC | Merge pull request #3178 from yichengq/refactor-cluster-health etcdctl: refactor the way to check cluster health | 30 July 2015, 01:16:26 UTC |