d9d7137ea3
Merge pull request #4092 from xiang90/api
...
*: update api proto
2015-12-29 12:46:12 -08:00
1a0201a31a
*: update api proto
2015-12-29 12:31:53 -08:00
d62edfb464
Merge pull request #4090 from xiang90/writable
...
etcdserver: always check if the data dir is writable before starting
2015-12-29 11:40:41 -08:00
150e646b05
etcdserver: always check if the data dir is writable before starting etcd
2015-12-29 11:29:01 -08:00
f1761798e9
Merge pull request #4089 from xiang90/fix
...
etcdserver: fix creating member dir
2015-12-28 23:37:50 -08:00
0f2675d9b6
Merge pull request #4060 from heyitsanthony/fix-etcdctl-err
...
etcdctl: return exitcode 2 if can't connect to any peer urls
2015-12-28 23:28:29 -08:00
aef55342d1
etcdsever: avoid creating member dir before finishing validate bootstrap
...
This commit fixes the issue of creating member dir before validating
the configuration. When member dir exists, it indicates the local etcd
process is a valid etcd member. So we should only create member dir
after we finish configuration validation, joining validation or
discovery validation.
2015-12-28 23:20:27 -08:00
eae52a3138
Revert "etcdserver: always remove member directory when bootstrap fails"
...
This reverts commit a7e443d641
.
2015-12-28 23:16:08 -08:00
cd42c9139e
Merge pull request #4087 from gyuho/delete_discovery_check
...
etcdserver: always remove member directory when bootstrap fails
2015-12-29 00:04:37 -07:00
4477ef636e
etcdctl: return exitcode 2 if can't connect to any peers
2015-12-28 23:04:34 -08:00
a7e443d641
etcdserver: always remove member directory when bootstrap fails
...
This removes member directory when bootstrap fails including joining existing
cluster and forming a new cluster. This fixes https://github.com/coreos/etcd/issues/3827 .
2015-12-28 22:56:03 -08:00
c3655cbfd9
Merge pull request #4084 from gyuho/revisioin_document
...
storage: add/fix revision/generation description
2015-12-28 20:45:36 -07:00
5284c1c3bb
storage: add/fix revision/generation description
...
This adds some struct descriptions to revision/generation structs and corrects
some spelling errors.
2015-12-28 19:32:03 -08:00
f3b3557951
Merge pull request #4085 from gyuho/doc_iana
...
Documentation: clarification on official etcd ports
2015-12-28 18:13:25 -08:00
7c587e0855
Documentation: clarification on official etcd ports
...
This is for https://github.com/coreos/etcd/issues/3480 .
This adds a notice that etcd officially use 2379 and 2380 for
client and server ports.
2015-12-28 16:29:19 -08:00
6c5dc28d0f
Merge pull request #4043 from gyuho/storage_range_all_unsynced
...
storage: range all unsynced at once
2015-12-28 14:45:40 -07:00
0d7fb820c7
Merge pull request #4082 from gyuho/storage_test_cleanup
...
storage: clean up test variable names, minor typos in comments
2015-12-28 13:02:17 -07:00
d64eb94580
storage: clean up test variable names, minor typos in comments
...
This just changes variable name to be more consistent: `N` rather than `Size`.
And fix some minor grammatical errors.
2015-12-28 11:49:57 -08:00
ecc3e15a46
storage: delete RangeHistory
...
This has been replaced by operations inside `syncWatchings`.
2015-12-28 11:37:32 -08:00
78b0b8a4a0
storage: range all unsynced at once
...
This is for https://github.com/coreos/etcd/issues/3848 .
It replaces RangeHistory method for more efficient event
sending.
2015-12-28 11:37:26 -08:00
570687a509
Merge pull request #4081 from heyitsanthony/benchmark-multi-ep
...
tools/benchmark: support connecting to several endpoints
2015-12-28 10:31:35 -08:00
8e728afa62
tools/benchmark: support connecting to several endpoints
...
--endpoints is comma separated but gRPC blocks forever on comma
separated lists. Instead, round-robin select endpoints when
creating new connections.
2015-12-28 10:22:33 -08:00
d07a9cd893
Merge pull request #4059 from xiang90/snap_log
...
rafthttp: better snapshot sending logging
2015-12-28 10:05:35 -08:00
466b33445f
Merge pull request #4079 from gyuho/store_shadow
...
store: fix govet shadow on expiration variable
2015-12-28 11:03:57 -07:00
b072f0b048
store: fix expiration var shadowing, change test function names
...
Found at https://travis-ci.org/coreos/etcd/jobs/99087279#L298 .
And changes test function names to make them clear.
2015-12-28 08:50:34 -08:00
aec356e416
Merge pull request #4064 from xiang90/reduce_fysnc
...
backend: do not commit unless there is a pending change
2015-12-28 07:31:50 -08:00
1238187b72
Merge pull request #4078 from jonboulle/master
...
docs: clarify CAS/CAD do not work on directories
2015-12-27 22:35:51 +01:00
216c6674ed
docs: clarify CAS/CAD do not work on directories
...
As noted in #4075 . There are numerous style issues with this document
but I don't want to go down that rabbit hole so this is an attempt at a
minimally invasive clarification.
2015-12-27 22:35:08 +01:00
729b530c48
Merge pull request #4071 from gyuho/store_event_node
...
store: clean up event.go, node.go and add tests
2015-12-25 21:42:50 -07:00
64e182c69e
store: clean up event.go, node.go and add tests
...
Updates IsCreated logic on event.go. Cleans up node.go
and adds tests to it.
2015-12-25 13:25:12 -08:00
70bcde89bc
Merge pull request #4073 from gyuho/remove_seed
...
storage: remove unnecessary math/rand seed
2015-12-25 19:14:35 +01:00
df0c2e6842
storage: remove unnecessary math/rand seed
...
As @jonboulle pointed out at
https://github.com/coreos/etcd/pull/4070/files#r48441847 :
> math/rand is unrelated to crypto/rand; the latter reads from /dev/urandom and
> is relying on the kernel's PRNG. Just remove the seed entirely.
2015-12-25 09:55:11 -08:00
dac56faf61
Merge pull request #4030 from mitake/endpoint-selection
...
client: add a mechanism for various endpoint selection mode
2015-12-24 12:55:16 +01:00
ff319add53
Merge pull request #4066 from gyuho/tip_shadow
...
pkg/fileutil: fix error var shadow
2015-12-24 10:24:27 +01:00
8d368c4dba
pkg/fileutil: fix error var shadow
...
Go tip complains about error variable shadowing at
https://travis-ci.org/coreos/etcd/jobs/98636879#L291-L292 .
2015-12-23 23:56:26 -08:00
22b3b3e07a
Merge pull request #4038 from AkihiroSuda/etcd-4007
...
pkg/fileutil: skip TestIsDirWriteable when running as root
2015-12-23 22:23:57 -08:00
058f1449d6
pkg/fileutil: skip TestIsDirWriteable when running as root
2015-12-24 14:52:40 +09:00
8bc59b66d1
backend: do not commit unless there is a pending change
...
Reduce the nubmer of fsync etcd issues when the cluster is
idle.
2015-12-23 18:58:37 -08:00
a46ffc60e5
client: add a mechanism for various endpoint selection mode
...
Current etcd client library chooses a default destination node from
every member of a cluster in a random manner. However, requests of
write and read (for consistent results) need to be forwarded to the
leader node as the nature of Raft algorithm. If the chosen node is a
follower, additional network traffic will be caused by the forwarding
from follower to leader.
Mainly for reducing the forward traffic, this commit adds a new
mechanism for various endpoint selection mode to the client library
which can be configured with client.Config.SelectionMode.
Currently, two modes are provided:
- EndpointSelectionRandom: default, same to existing behavior (pick
a node in a random manner)
- EndpointSelectionPrioritizeLeader: prioritize leader, for the above
purpose
I evaluated the effectiveness of the EndpointSelectionPrioritizeLeader
with 4 t1.micro instances of AWS (3 nodes for etcd cluster and 1 node
for etcd client). Client executes this simple benchmark
(https://github.com/mitake/etcd-things/tree/master/prioritize-leader-bench ),
just writes 10000 keys. When SelectionMode == EndpointSelectionRandom
(default), the benchmark needed 1 min and 32.102 sec to finish. When
SelectionMode == EndpointSelectionPrioritizeLeader, the benchmark
needed 1 min 4.760 sec.
2015-12-24 11:02:40 +09:00
72e115ee6e
Merge pull request #4062 from xiang90/fix_snap
...
*: fix snapshot sending cycle
2015-12-23 17:10:10 -08:00
3c17e45bcb
Merge pull request #4063 from heyitsanthony/fix-shouldstop
...
etcdserver: stop if removed along with multiple conf changes
2015-12-23 16:46:18 -08:00
d7ad721ede
etcdserver: stop if removed along with multiple conf changes
...
shouldstop would get clobbered when several conf changes are in an apply
2015-12-23 16:29:21 -08:00
4be152bb4f
rework
2015-12-23 16:21:16 -08:00
9a51d40940
fix comment
2015-12-23 14:10:39 -08:00
ab31ba0d29
*: fix snapshot sending cycle
2015-12-23 13:58:57 -08:00
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
7e5b7cfc65
Merge pull request #4056 from heyitsanthony/benchmark-less-mem
...
tools/benchmark: stream results into reports
2015-12-23 11:51:13 -08:00
0c640d781c
Merge pull request #4047 from heyitsanthony/test-activate-raftexample
...
test: activate tests on contrib/raftexample
2015-12-23 11:28:50 -08:00
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
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