Xiang Li
4be152bb4f
rework
2015-12-23 16:21:16 -08:00
Xiang Li
9a51d40940
fix comment
2015-12-23 14:10:39 -08:00
Xiang Li
ab31ba0d29
*: fix snapshot sending cycle
2015-12-23 13:58:57 -08:00
Xiang Li
74dba2d4cf
rafthttp: better snapshot sending logging
...
snapshot sending is an important event. We should always log it explicitly.
2015-12-23 12:36:07 -08:00
Anthony Romano
7e5b7cfc65
Merge pull request #4056 from heyitsanthony/benchmark-less-mem
...
tools/benchmark: stream results into reports
2015-12-23 11:51:13 -08:00
Anthony Romano
0c640d781c
Merge pull request #4047 from heyitsanthony/test-activate-raftexample
...
test: activate tests on contrib/raftexample
2015-12-23 11:28:50 -08:00
Anthony Romano
382103af60
tools/benchmark: stream results into reports
...
Reports depended on writing all results to a large buffered channel and
reading from that synchronously. Similarly, requests were buffered the
same way which can take significant memory on big request strings. Instead,
have reports stream in results as they're produced then print when the
results channel closes.
2015-12-23 11:24:35 -08:00
Anthony Romano
58ac6aeb5a
test: activate tests on contrib/raftexample
...
adds contrib/raftexample to integration tests and fixes two test races
2015-12-23 11:13:37 -08:00
Xiang Li
3f81f020c1
Merge pull request #4050 from xiang90/fsync
...
snap: call fsync before close db file
2015-12-23 09:42:13 -08:00
Jonathan Boulle
45de4e918e
Merge pull request #3935 from dgonyeo/master
...
scripts: rewrote build-aci to use acbuild
2015-12-23 18:37:38 +01:00
Jonathan Boulle
834c2cf7cf
Merge pull request #4054 from jonboulle/master
...
raft: small typo fixes in raft package doc
2015-12-23 18:19:47 +01:00
Xiang Li
b4c4146d6b
Merge pull request #4051 from xiang90/log
...
rafthttp: log before receiving snapshot
2015-12-23 08:57:28 -08:00
Xiang Li
94da4b9ee5
rafthttp: log before receiving snapshot
...
Database snapshot can be as large as 5GB. It is reasonable
to log before receiving it. Or the user might not know what
is happening and why etcd starts to use IO intensively.
2015-12-23 08:45:36 -08:00
Jonathan Boulle
5c65c393a5
raft: small typo fixes in raft package doc
2015-12-23 16:37:06 +01:00
Hitoshi Mitake
53be8405f3
client: a new API for obtaining a leader node information
2015-12-23 22:54:04 +09:00
Xiang Li
191c5ef9cb
snap: call fsync before close db file
2015-12-22 22:43:05 -08:00
Xiang Li
289de69632
Merge pull request #4048 from xiang90/util
...
etcdserver: move unti out of server.go
2015-12-22 15:41:39 -08:00
Xiang Li
d6d12b4d86
etcdserver: move unti out of server.go
...
etcdserver file is messy enough. Let's make it be less messy.
2015-12-22 15:17:14 -08:00
Xiang Li
59998dbc50
Merge pull request #3882 from colhom/etcd2-backup
...
contrib/systemd: etcd2-backup package and docs
2015-12-22 15:08:54 -08:00
Anthony Romano
c147da94a2
Merge pull request #4041 from heyitsanthony/v3-snapshot-low-latency
...
low latency V3 snapshot recovery
2015-12-22 15:03:35 -08:00
Colin Hom
85cd4d9647
contrib/systemd: etcd2-backup package and docs
...
multi-node backup and restore procedures for etcd2 clusters, presented as systemd jobs.
2015-12-22 14:52:10 -08:00
Anthony Romano
aca0c466ed
etcdserver: asynchronously notify applier when raft writes finish
...
The raft loop would block on the applier's done channel after
persisting the raft messages; the latency could cause dropped network
messages. Instead, asynchronously notify the applier with a buffered
channel when the raft writes complete.
2015-12-22 14:15:14 -08:00
Anthony Romano
9d05a0d959
etcdserver: apply v3 database updates outside server event loop
...
raft's applyc writes block on the server loop's database IO since
the next applyc read must wait on the db operation to finish.
Instead, stream applyc to a run queue outside the server loop.
2015-12-22 14:15:09 -08:00
Anthony Romano
23d645babd
Merge pull request #4046 from heyitsanthony/etcdserver-server-select-refactor
...
etcdserver: refactor server.go select loop
2015-12-22 12:29:10 -08:00
Anthony Romano
7e00325fe9
etcdserver: refactor server.go select loop
...
splits out the apply case into smaller functions
2015-12-22 12:13:39 -08:00
Xiang Li
79fa03081c
Merge pull request #4045 from philips/add-raftexample-to-raft-docs
...
raft: add raftexample to the docs
2015-12-22 12:06:23 -08:00
Brandon Philips
c72e4ae112
raft: add raftexample to the docs
...
To help people wanting use this package get started point to the
raftexample package.
2015-12-22 12:04:39 -08:00
Jonathan Boulle
b79dae287d
Merge pull request #4042 from jonboulle/master
...
pkg: fix tiny docstring typo in ioutil
2015-12-22 17:00:17 +01:00
Jonathan Boulle
50efd01e34
pkg: fix tiny docstring typo in ioutil
2015-12-22 16:37:22 +01:00
Gyu-Ho Lee
eaaf98348c
Merge pull request #4040 from gyuho/godep_20151221
...
Godeps: add missing dependencies
2015-12-21 22:30:04 -08:00
Gyu-Ho Lee
293103cc24
Godeps: add missing dependencies
...
I reran Godep after this patch https://github.com/tools/godep/pull/352 .
2015-12-21 22:20:07 -08:00
Gyu-Ho Lee
b1138a42a2
Merge pull request #4036 from gyuho/storage_test_unsynced
...
storage: add more tests for synced, unsynced for watchable store
2015-12-21 20:30:43 -08:00
Gyu-Ho Lee
28d0e473a7
storage: add more tests for synced, unsynced for watchable store
...
This adds more tests on functions that updates synced and unsynced in watchable
store. Preparatory change for https://github.com/coreos/etcd/issues/3848 .
2015-12-21 20:20:08 -08:00
Xiang Li
f3f5726b8a
Merge pull request #4037 from xiang90/proxy
...
etcdmain: fix incomplete proxy config file
2015-12-21 16:37:55 -08:00
Xiang Li
4bcd7587e2
etcdmain: fix incomplete proxy config file
...
etcd might generate incomplete proxy config file after a power failure.
It is because we use ioutil.WriteFile. And iotuile.WriteFile does
not call Sync before closing the file.
2015-12-21 16:15:00 -08:00
Anthony Romano
d639e4f7f6
Merge pull request #4033 from heyitsanthony/raftexample-tests
...
Raftexample tests
2015-12-21 13:14:28 -08:00
chz
63bc804253
contrib/raftexample: shutdown rafthttp on closed proposal channel
...
Otherwise listening ports leak across unit tests and ports won't bind.
2015-12-21 13:03:42 -08:00
chz
b73a11ff45
contrib/raftexample: follow pipeline guidelines closer
...
close raft commit channel before issuing raft error since it's done
sending
2015-12-21 13:03:42 -08:00
chz
b7cf2385e6
contrib/raftexample: add test, fix dead lock on proposal channel
...
deadlock if no leader; node selects on propc=nil and writes to Ready,
client blocks on propC in same select as Ready reader, and so progress
of raft state machine deadlocks.
2015-12-21 13:03:35 -08:00
Xiang Li
2681137fe0
Merge pull request #4020 from xiang90/ctl_04
...
etcdctl: support etcd0.4
2015-12-21 12:55:03 -08:00
Xiang Li
541f2e5200
etcdctl: support basic operations with etcd 0.4.
...
For CoreOS users, they will get a updated version of etcdctl without updating
the etcd server version. And the users cannot really control this behavior.
We do not want to suddenly break them without enough communication.
So we still want the most basic opeartions like get, set, watch of etcdctl2 work
with etcd 0.4. This patches solve the incompability issue.
2015-12-21 11:59:13 -08:00
Xiang Li
5587c4aa9a
client: support reset Endpoints.
...
ResetEndpoints is useful when the there is a scheduled cluster
changes or when manually manage the cluster without auto-sync
enabled.
2015-12-21 11:59:13 -08:00
Gyu-Ho Lee
7e26fe9c16
Merge pull request #4032 from gyuho/one_mutex_for_storage
...
storage: use only one mutex for store struct
2015-12-21 11:58:44 -08:00
Gyu-Ho Lee
84d777305d
storage: use only one mutex for store struct
...
Mutex is a variable, which means there needs to be only one mutex
value per scope. We don't need a separate mutex inside store struct,
**if we assume that `TxnPut` and `TxnRange` are called ONLY ONCE
per transaction (between `TxnBegin` and `TxnEnd`)**, as documented.
2015-12-21 11:42:40 -08:00
Xiang Li
2a351e62f1
Merge pull request #4024 from heyitsanthony/add-command-argusage
...
etcdctl: member add command argusage to help
2015-12-21 10:59:07 -08:00
Derek Gonyeo
c597d591b5
scripts: rewrote build-aci to use acbuild
2015-12-21 10:15:08 -08:00
Anthony Romano
2974c4ec27
etcdctl: fill out ArgsUsage fields for help
...
USAGE in help now names positional arguments (e.g., "member remove <memberID>"
instead of "member remove [arguments...]")
Fixes #4021
2015-12-21 09:05:37 -08:00
Xiang Li
c4732eb6e1
Merge pull request #4028 from gyuho/storage_test_variable
...
storage: remove unnecessary test variable assignment
2015-12-20 15:33:52 -08:00
Gyu-Ho Lee
2377ef870a
storage: remove unnecessary test variable assignment
...
There is no need to assign a separate variable since 'base' is already defined
as a local variable within the loop.
2015-12-20 14:23:27 -08:00
Jonathan Boulle
98c1745278
Merge pull request #4026 from jonboulle/master
...
tests: update + enable check for leaked goroutines
2015-12-20 20:31:15 +01:00