1a7a5fd | Xiang Li | 18 June 2015, 20:57:27 UTC | Merge pull request #3006 from yichengq/storage-kvstore-test storage: remove unnecessary ForceCommit in kvstore.Close | 18 June 2015, 20:57:27 UTC |
9f2e4c8 | Yicheng Qin | 18 June 2015, 20:36:23 UTC | storage: remove unnecessary ForceCommit in kvstore.Close s.b.Close will commit pending ops, so there is no need to FroceCommit it in kvstore.Close() | 18 June 2015, 20:36:23 UTC |
789e2f3 | Yicheng Qin | 18 June 2015, 19:19:05 UTC | Merge pull request #3003 from yichengq/storage-kvstore-test storage: add restore test and fix some bug | 18 June 2015, 19:19:05 UTC |
7cba42f | Yicheng Qin | 18 June 2015, 18:05:31 UTC | storage: wait for compact goroutine to exit before close backend If backend is closed, the operations on backend in compact goroutine will panic. So this PR waits for compact goroutine to exit before close backend. This fixes the TestWorkflow failure too. | 18 June 2015, 19:18:39 UTC |
148394f | Yicheng Qin | 18 June 2015, 17:38:15 UTC | storage: fix schedule compaction bug in recover process It uses wrong schedule compaction reversion before. | 18 June 2015, 18:11:37 UTC |
26a09d8 | Yicheng Qin | 18 June 2015, 16:34:51 UTC | storage: enhance TestRestore and kill TODO | 18 June 2015, 17:37:12 UTC |
0ef53ee | Yicheng Qin | 18 June 2015, 14:39:18 UTC | Merge pull request #2999 from yichengq/storage-rev-test storage: add reversion test | 18 June 2015, 14:39:18 UTC |
74fbf9d | Yicheng Qin | 18 June 2015, 00:35:53 UTC | storage: add reversion test | 18 June 2015, 01:06:42 UTC |
06ca914 | Yicheng Qin | 18 June 2015, 00:49:55 UTC | Merge pull request #2998 from yichengq/storage-kvstore-test storage: add kv range test | 18 June 2015, 00:49:55 UTC |
80a59f0 | Yicheng Qin | 17 June 2015, 23:55:16 UTC | storage: fix limit mismatch in Range func | 18 June 2015, 00:43:08 UTC |
93f4779 | Yicheng Qin | 17 June 2015, 23:39:34 UTC | storage: return ErrFutureRev if rev is a future one | 18 June 2015, 00:42:43 UTC |
94924d0 | Yicheng Qin | 17 June 2015, 23:22:28 UTC | storage: add TestRangeBadRev | 17 June 2015, 23:22:28 UTC |
9ad5e1e | Yicheng Qin | 17 June 2015, 22:58:28 UTC | storage: kill TODO in TestRange | 17 June 2015, 22:58:28 UTC |
0522872 | Yicheng Qin | 17 June 2015, 22:05:12 UTC | Merge pull request #2996 from yichengq/storage-workflow-test storage: add TestWorkflow | 17 June 2015, 22:05:12 UTC |
500894d | Yicheng Qin | 17 June 2015, 20:56:29 UTC | storage: add TestWorkflow | 17 June 2015, 21:38:21 UTC |
7b1a93e | Yicheng Qin | 17 June 2015, 20:52:17 UTC | storage: put storage info keys into information bucket They used to be in key bucket, and make recover failed because they cannot be parsed as normal key. | 17 June 2015, 21:37:29 UTC |
d0f6432 | Yicheng Qin | 17 June 2015, 05:02:00 UTC | *: bump to v2.1.0-alpha.1+git | 17 June 2015, 05:02:00 UTC |
c4a5088 | Yicheng Qin | 17 June 2015, 05:00:17 UTC | *: bump to v2.1.0-alpha.1 | 17 June 2015, 05:00:17 UTC |
2efbc76 | Xiang Li | 16 June 2015, 21:22:16 UTC | Merge pull request #2993 from xiang90/md doc: add doc for metrics feature | 16 June 2015, 21:22:16 UTC |
c599e81 | Xiang Li | 16 June 2015, 20:51:20 UTC | doc: add proposal into glossary.md | 16 June 2015, 21:19:18 UTC |
5c1d454 | Xiang Li | 16 June 2015, 17:40:55 UTC | doc: add doc for metrics feature | 16 June 2015, 21:18:22 UTC |
cdcae2d | Barak Michener | 16 June 2015, 18:41:34 UTC | Merge pull request #2991 from barakmich/security_rename *: Rename `security` to `auth` | 16 June 2015, 18:41:34 UTC |
64ec8af | Barak Michener | 15 June 2015, 22:15:51 UTC | *: Rename `security` to `auth` | 15 June 2015, 22:18:50 UTC |
e20b487 | Xiang Li | 15 June 2015, 20:19:29 UTC | Merge pull request #2978 from xiang90/fix_backup *:fix point-in-time backup | 15 June 2015, 20:19:29 UTC |
f59da0e | Xiang Li | 12 June 2015, 23:06:02 UTC | *:fix point-in-time backup Backup process should be able to read all WALs until io.EOF to generate a point-in-time backup. Our WAL file is append-only. And the backup process will lock all files before start reading, which can prevent the gc routine from removing any files in the middle. | 15 June 2015, 18:12:28 UTC |
b69d52e | Xiang Li | 15 June 2015, 17:39:40 UTC | Merge pull request #2988 from xiang90/raft-doc raft: fix usage section of doc | 15 June 2015, 17:39:40 UTC |
2f0169c | Xiang Li | 15 June 2015, 17:22:38 UTC | raft: fix usage section of doc We recently added a config struct to start raft. Update our doc accordingly. | 15 June 2015, 17:26:10 UTC |
5618adf | Yicheng Qin | 14 June 2015, 15:53:06 UTC | Merge pull request #2977 from nikfoundas/patch-1 docs: add etcd-viewer into libraries-and-tools.md | 14 June 2015, 15:53:06 UTC |
3fc8d48 | Xiang Li | 14 June 2015, 13:53:20 UTC | Merge pull request #2982 from aybabtme/etcdserver/wrong-log-func etcdserver: use Infof to print formatted argument | 14 June 2015, 13:53:20 UTC |
270487d | Antoine Grondin | 14 June 2015, 13:19:19 UTC | etcdserver: use Infof to print formatted argument | 14 June 2015, 13:22:21 UTC |
dadbc03 | nikfoundas | 12 June 2015, 22:41:38 UTC | docs: add etcd-viewer into libraries-and-tools.md I've been working on this project for a few weeks and I believe it has some features that could assist maintaining etcd registries. Please check it out and I hope you would like to include it in your list of etcd tools. Kind regards, Nikos | 13 June 2015, 23:25:42 UTC |
8e7fa9e | Xiang Li | 12 June 2015, 22:20:18 UTC | Merge pull request #2976 from yichengq/fix-lock-test pkg/fileutil: wait longer for relock | 12 June 2015, 22:20:18 UTC |
7723b91 | Yicheng Qin | 12 June 2015, 21:53:55 UTC | pkg/fileutil: wait longer for relock multiple cpu running makes it slower, so it waits longer for relock. | 12 June 2015, 22:17:28 UTC |
219d304 | Yicheng Qin | 12 June 2015, 21:51:05 UTC | Merge pull request #2968 from yichengq/fix-stream-reader-init rafthttp: always init streamReader before return from newPeer | 12 June 2015, 21:51:05 UTC |
288cce0 | Xiang Li | 12 June 2015, 21:38:55 UTC | Merge pull request #2975 from yichengq/fix-purge-test pkg/fileutil: wait longer before checking purge results | 12 June 2015, 21:38:55 UTC |
7ff1fa3 | Yicheng Qin | 12 June 2015, 20:00:41 UTC | rafthttp: always init streamReader before return from newPeer Or etcd will panic if someone calls `setTerm()`, which uses streamReader internally, before streamReader is inited. | 12 June 2015, 21:38:14 UTC |
75f91ba | Yicheng Qin | 12 June 2015, 21:05:50 UTC | pkg/fileutil: wait longer before checking purge results multiple cpu running may be slower than single cpu running, so it may take longer time to remove files. Increase from 5ms to 20ms to give it enough time. | 12 June 2015, 21:36:15 UTC |
684c721 | Xiang Li | 12 June 2015, 21:34:52 UTC | Merge pull request #2970 from yichengq/fix-stream-test rafthttp: use buffered channel as recv/prop chan | 12 June 2015, 21:34:52 UTC |
dccec11 | Yicheng Qin | 12 June 2015, 21:27:17 UTC | Merge pull request #2973 from yichengq/fix-recv-log rafthttp: fix the misformat logging line, and rename internal var for more clarity | 12 June 2015, 21:27:17 UTC |
36f75cf | Yicheng Qin | 12 June 2015, 20:21:11 UTC | rafthttp: use buffered channel as recv/prop chan So it ensures that the message will not be discarded because the receive side has not been ready, which happens easily in multiple core test. Use log.fatal instead of log.error. The test exits when there is something wrong because the error may affect following test cases. | 12 June 2015, 21:25:11 UTC |
2f05b24 | Yicheng Qin | 12 June 2015, 20:54:31 UTC | rafthttp: {from, to} -> {local, remote} in stream {from, to} nameings are confused when it both dials and receives messages from the remote. Change it to {local, remote} for better clarity. | 12 June 2015, 21:17:30 UTC |
bcc1aad | Yicheng Qin | 12 June 2015, 20:48:59 UTC | rafthttp: fix the misformat logging line before: ``` 2015/06/12 20:06:19 rafthttp: dropped MsgApp from %!s(uint64=2) since receiving buffer is full ``` after: ``` 2015/06/12 13:51:38 rafthttp: dropped MsgProp from 2 since receiving buffer is full ``` | 12 June 2015, 21:12:49 UTC |
ae42371 | Yicheng Qin | 12 June 2015, 20:53:00 UTC | Merge pull request #2965 from yichengq/fix-issue2904 integration: fix TestIssue2904 in multiple cores | 12 June 2015, 20:53:00 UTC |
b98aa3a | Xiang Li | 12 June 2015, 20:42:54 UTC | Merge pull request #2972 from yichengq/test-longer test: extend integration timeout to 10m | 12 June 2015, 20:42:54 UTC |
768cb43 | Yicheng Qin | 12 June 2015, 17:09:07 UTC | test: extend integration timeout to 10m We test with `-cpu 1,2,4` now, and it takes longer time. | 12 June 2015, 20:41:35 UTC |
796d99c | Yicheng Qin | 12 June 2015, 02:46:32 UTC | integration: fix TestIssue2904 when multiple cores Do not wait for the cluster view of removed member to match with expected view, since removed member does not apply entries after it is removed. | 12 June 2015, 17:20:27 UTC |
ea3c7d1 | Yicheng Qin | 12 June 2015, 16:23:23 UTC | Merge pull request #2960 from yichengq/fix-drop-flood rafthttp: pretty print message drop info | 12 June 2015, 16:23:23 UTC |
0de0e4b | Yicheng Qin | 11 June 2015, 20:21:13 UTC | rafthttp: pretty print message drop info | 12 June 2015, 16:14:53 UTC |
e46fa0a | Yicheng Qin | 12 June 2015, 15:03:12 UTC | Merge pull request #2957 from yichengq/fix-pipeline-test rafthttp: fix TestStopBlockedPipeline | 12 June 2015, 15:03:12 UTC |
c21cc5b | Yicheng Qin | 11 June 2015, 16:16:23 UTC | rafthttp: fix TestStopBlockedPipeline Refactor the fake cancel implementation. The old one may cancel other in-flight message in random, which leaves the original target message blocked forever. | 12 June 2015, 14:55:12 UTC |
29dca49 | Yicheng Qin | 11 June 2015, 16:12:23 UTC | rafthttp: wait 1ms before enabling cancel CancelRequest only effects on in-flight request, so we need to wait for Do(request) called before enabling cancel. | 12 June 2015, 14:55:06 UTC |
d8e1950 | Xiang Li | 11 June 2015, 23:11:59 UTC | Merge pull request #2963 from xiang90/fix_discovery_error etcdmain: exit if discovery fails | 11 June 2015, 23:11:59 UTC |
6c8b32d | Xiang Li | 11 June 2015, 22:44:57 UTC | etcdmain: exit if discovery fails Fix #2919 If discovery fails, etcd will hang there and does nothing. This commit fixes the problem. | 11 June 2015, 22:45:00 UTC |
3e706c7 | Xiang Li | 11 June 2015, 22:30:18 UTC | Merge pull request #2953 from yichengq/etcdmain-plog etcdmain: var log -> plog | 11 June 2015, 22:30:18 UTC |
1c19eb4 | Xiang Li | 11 June 2015, 22:29:44 UTC | Merge pull request #2956 from xiang90/log all pkgs use leveled log | 11 June 2015, 22:29:44 UTC |
2c5ab7f | Xiang Li | 11 June 2015, 16:57:45 UTC | discovery: fix infoln -> info | 11 June 2015, 21:22:14 UTC |
8ad7ed3 | Xiang Li | 11 June 2015, 16:54:39 UTC | *:godep log pkg | 11 June 2015, 21:22:14 UTC |
2373fd8 | Xiang Li | 11 June 2015, 16:52:11 UTC | wal: fix the left logging using default log | 11 June 2015, 21:22:14 UTC |
2db8b53 | Xiang Li | 11 June 2015, 16:48:10 UTC | discovery: use leveled log | 11 June 2015, 21:22:14 UTC |
f013a62 | Xiang Li | 11 June 2015, 16:40:44 UTC | etcdserver/stats: use leveled log | 11 June 2015, 21:22:14 UTC |
cf7cb2b | Xiang Li | 11 June 2015, 16:30:31 UTC | etcdserver/security: use leveled log | 11 June 2015, 21:22:14 UTC |
2f795e4 | Xiang Li | 11 June 2015, 16:18:54 UTC | httptypes: use leveled log | 11 June 2015, 21:19:53 UTC |
4b5dbef | Xiang Li | 11 June 2015, 16:03:36 UTC | pkg/pbutil: use leveled log | 11 June 2015, 21:19:53 UTC |
865a5ff | Xiang Li | 11 June 2015, 16:00:54 UTC | pkg/osutil: use leveled log | 11 June 2015, 21:19:53 UTC |
a45f539 | Xiang Li | 11 June 2015, 15:59:43 UTC | pkg/netutil: use leveled log | 11 June 2015, 21:19:52 UTC |
69819d3 | Xiang Li | 11 June 2015, 15:52:55 UTC | pkg/flags: use leveled log | 11 June 2015, 21:19:52 UTC |
7bf0479 | Barak Michener | 11 June 2015, 17:40:32 UTC | Merge pull request #2882 from barakmich/security_client_new *: Add security/authorization to etcd/client and etcdctl | 11 June 2015, 17:40:32 UTC |
1764837 | Yicheng Qin | 11 June 2015, 16:57:50 UTC | etcdmain: clean up plog.Printf Put it into different log levels. | 11 June 2015, 17:24:02 UTC |
ecdf0a8 | Yicheng Qin | 11 June 2015, 17:02:13 UTC | Merge pull request #2959 from yichengq/fix-update-member rafthttp: fix TestUpdateMember | 11 June 2015, 17:02:13 UTC |
1af2b4c | Yicheng Qin | 11 June 2015, 16:40:53 UTC | rafthttp: fix TestUpdateMember Before this PR, it may error like this: ``` --- FAIL: TestUpdateMember-2 (0.00s) server_test.go:950: action = [{ApplyConfChange:ConfChangeUpdateNode []} {ProposeConfChange:ConfChangeUpdateNode []}], want [{ProposeConfChange:ConfChangeUpdateNode []} {ApplyConfChange:ConfChangeUpdateNode []}] ``` This fixes the test by recording the proposal event in time. | 11 June 2015, 16:45:34 UTC |
cd629c9 | Yicheng Qin | 10 June 2015, 23:53:39 UTC | Merge pull request #2939 from yichengq/fix-update-attr etcdserver: allow to update attributes of removed member | 10 June 2015, 23:53:39 UTC |
8725e69 | Yicheng Qin | 09 June 2015, 05:23:41 UTC | etcdserver: allow to update attributes of removed member There exist the possiblity to update attributes of removed member in reasonable workflow: 1. start member A 2. leader receives the proposal to remove member A 2. member A sends the proposal of update its attribute to the leader 3. leader commits the two proposals So etcdserver should allow to update attributes of removed member. | 10 June 2015, 23:52:18 UTC |
743ac73 | Xiang Li | 10 June 2015, 23:44:58 UTC | Merge pull request #2954 from xiang90/fix_test proxy: fix test | 10 June 2015, 23:44:58 UTC |
ed1c5a7 | Yicheng Qin | 10 June 2015, 23:42:06 UTC | Merge pull request #2951 from yichengq/fix-proxy-acurls etcdmain: fix that advertise-client-urls is required in proxy mode | 10 June 2015, 23:42:06 UTC |
612ecbc | Xiang Li | 10 June 2015, 23:31:42 UTC | proxy: fix test | 10 June 2015, 23:31:42 UTC |
cf7c83b | Yicheng Qin | 10 June 2015, 22:06:49 UTC | etcdmain: fix that advertise-client-urls is required in proxy mode etcd proxy doesn't need to set advertise-client-urls because the flag is not used. | 10 June 2015, 23:22:32 UTC |
5a9c285 | Yicheng Qin | 10 June 2015, 23:19:06 UTC | etcdmain: var log -> plog So the variable name doesn't mess up with standard package name. | 10 June 2015, 23:19:06 UTC |
0a3a272 | Yicheng Qin | 10 June 2015, 23:17:07 UTC | Merge pull request #2923 from yichengq/rafthttp-status rafthttp: pretty print connection error | 10 June 2015, 23:17:07 UTC |
f64a821 | Xiang Li | 10 June 2015, 23:01:24 UTC | Merge pull request #2952 from xiang90/fileutil fileutil: use leveled logging | 10 June 2015, 23:01:24 UTC |
dc87454 | Xiang Li | 10 June 2015, 22:59:24 UTC | fileutil: return on error and send it to error chan | 10 June 2015, 22:59:24 UTC |
e2c2f09 | Xiang Li | 10 June 2015, 22:46:24 UTC | fileutil: use leveled logging | 10 June 2015, 22:57:59 UTC |
d92c895 | Yicheng Qin | 10 June 2015, 22:30:43 UTC | rafthttp: fix capnslog package name | 10 June 2015, 22:43:54 UTC |
1dbe72b | Yicheng Qin | 05 June 2015, 23:34:36 UTC | rafthttp: pretty print connection error 1. print out the status change of connection with peer 2. only print the first error for repeated ones | 10 June 2015, 22:43:49 UTC |
30db41e | Yicheng Qin | 10 June 2015, 22:00:28 UTC | Procfile: use -listen-client-urls instead of -bind-addr -bind-addr is etcd 0.4 flag, and we should deprecate it. Moreover, this makes Procfile fit the workflow we mention in the doc, which helps ourselves find the problem first. | 10 June 2015, 22:13:33 UTC |
37f9534 | Xiang Li | 10 June 2015, 22:09:45 UTC | Merge pull request #2950 from xiang90/test_cpu test: run with cpu = 1,2,4 | 10 June 2015, 22:09:45 UTC |
4e79abc | Yicheng Qin | 10 June 2015, 21:44:32 UTC | Merge pull request #2944 from yichengq/fix-2procs pkg/testutil: ForceGosched -> WaitSchedule | 10 June 2015, 21:44:32 UTC |
018fb8e | Yicheng Qin | 10 June 2015, 02:26:23 UTC | pkg/testutil: ForceGosched -> WaitSchedule ForceGosched() performs bad when GOMAXPROCS>1. When GOMAXPROCS=1, it could promise that other goroutines run long enough because it always yield the processor to other goroutines. But it cannot yield processor to goroutine running on other processors. So when GOMAXPROCS>1, the yield may finish when goroutine on the other processor just runs for little time. Here is a test to confirm the case: ``` package main import ( "fmt" "runtime" "testing" ) func ForceGosched() { // possibility enough to sched up to 10 go routines. for i := 0; i < 10000; i++ { runtime.Gosched() } } var d int func loop(c chan struct{}) { for { select { case <-c: for i := 0; i < 1000; i++ { fmt.Sprintf("come to time %d", i) } d++ } } } func TestLoop(t *testing.T) { c := make(chan struct{}, 1) go loop(c) c <- struct{}{} ForceGosched() if d != 1 { t.Fatal("d is not incremented") } } ``` `go test -v -race` runs well, but `GOMAXPROCS=2 go test -v -race` fails. Change the functionality to waiting for schedule to happen. | 10 June 2015, 21:37:41 UTC |
2d21904 | Xiang Li | 10 June 2015, 21:26:17 UTC | test: run with cpu = 1,2,4 | 10 June 2015, 21:26:17 UTC |
a4d1a5a | Barak Michener | 03 April 2015, 21:32:30 UTC | *: Add security/auth support to etcdctl and etcd/client add godep for speakeasy and auth entry parsing add security_user to client add role to client add role commands add auth support to etcdclient and etcdctl(member/user) add enable/disable to etcdctl better error messages, read/write/readwrite Bump go-etcd to include codec changes, add new dependency verify the error for revoke/add if nothing changed, remove security-merging prefix | 10 June 2015, 20:58:10 UTC |
97709b2 | Xiang Li | 10 June 2015, 18:38:57 UTC | Merge pull request #2930 from xiang90/storage_restore storage: initial snapshot and restore | 10 June 2015, 18:38:57 UTC |
ba9a46a | Xiang Li | 08 June 2015, 16:26:56 UTC | storage: initial snapshot and restore Snapshot takes an io.Writer and writes the entire backend data to the given writer. Snapshot writes a consistent view and does not block other storage operations. Restore restores the in-memory states (index and book keeping) of the storage from the backend data. | 10 June 2015, 18:32:10 UTC |
1403783 | Yicheng Qin | 09 June 2015, 23:16:33 UTC | Merge pull request #2911 from yichengq/rafthttp-plog rafthttp: use leveled logger | 09 June 2015, 23:16:33 UTC |
f1e995b | Yicheng Qin | 02 June 2015, 22:33:58 UTC | rafthttp: use leveled logger | 09 June 2015, 23:15:02 UTC |
19ef3a0 | Xiang Li | 09 June 2015, 22:53:52 UTC | Merge pull request #2934 from xiang90/etcdserver_log etcdserver: use leveled logging | 09 June 2015, 22:53:52 UTC |
e0f9796 | Xiang Li | 08 June 2015, 20:28:34 UTC | etcdserver: use leveled logging Leveled logging for etcdserver pkg. | 09 June 2015, 20:53:07 UTC |
9fbd259 | Yicheng Qin | 09 June 2015, 18:24:53 UTC | Merge pull request #2940 from yichengq/improve-raft-loop etcdserver: stop raft loop when receiving stop signal | 09 June 2015, 18:24:53 UTC |
0814966 | Yicheng Qin | 09 June 2015, 05:48:10 UTC | etcdserver: stop raft loop when receiving stop signal When it waits for apply to be done, it should stop the loop if it receives stop signal. This helps to print out panic information. Before this PR, if the panic happens when server loop is applying entries, server loop will wait for raft loop to stop forever. | 09 June 2015, 18:11:53 UTC |
ebb7677 | Xiang Li | 09 June 2015, 17:52:13 UTC | Merge pull request #2941 from bakins/http-log Simple debug HTTP request logging | 09 June 2015, 17:52:13 UTC |
d8a836e | Brian Akins | 09 June 2015, 17:40:37 UTC | Simple debug HTTP request logging | 09 June 2015, 17:40:37 UTC |
1ff8655 | Xiang Li | 09 June 2015, 16:35:17 UTC | Merge pull request #2937 from xiang90/http_log etcdhttp: use leveled logging | 09 June 2015, 16:35:17 UTC |