f6a7f96967
etcdserver: recover from snapshot before applying requests
2014-11-14 12:08:39 -08:00
b5d480f17a
etcdserver: add StopNotify
2014-11-13 14:16:48 -08:00
978d0f1ca1
etcdserver: fix TestDoProposalStopped test
...
We start etcd server in this test without the cluster. Sometimes it panics when
accessing the cluster. Most of the time it does not panic, since we can stop the
server fast enough before applying the first configuration change entry.
2014-11-13 14:08:59 -08:00
30dfdb0ea9
etcdserver: fix server.Stop()
...
Stop should be idempotent. It should simply send a stop signal to the server.
It is the server's responsibility to stop the go-routines and related components.
2014-11-13 13:47:12 -08:00
0c2b45ddc6
etcdserver: not record attributes when add member
...
There is no need to set attributes value when adding member because new
member will publish the information whenever it starts.
2014-11-12 17:48:15 -08:00
5967794009
*: support updating advertise-peer-url
...
Users might want to update the peerurl of the etcd member in several cases.
For example, if the IP address of the physical machine etcd running on is
changed, user need to update the adversite-pee-rurl accordingly.
This commit makes etcd support updating the advertise-peer-url of its members.
2014-11-11 12:07:03 -08:00
67a0de4bbc
etcdserver: use member pointer for all tests
2014-11-11 11:20:56 -08:00
e4931e0c47
etcdserver: remove unnecessary newTestMemberp
2014-11-11 11:09:33 -08:00
4b9c3a9102
etcdserver: not get cluster info from self peer urls
...
Self peer urls have not started to serve at the time that it tries to
get cluster info, so it is useless to get cluster info from self peer
urls.
2014-11-08 13:52:48 -08:00
55b4ff0cdf
etcdserver: discard log output in tests
2014-11-07 11:45:46 -08:00
9d19429993
Merge pull request #1609 from yichengq/202
...
etcdserver: refactor sender
2014-11-07 10:12:02 -08:00
ccded6644a
Merge pull request #1505 from yichengq/193
...
etcdserver: refactor non-blocking check for sync tests
2014-11-06 15:48:18 -08:00
457b30e585
etcdserver: add/remove sender in sendhub explicitly
2014-11-06 14:04:14 -08:00
211c5e3e29
etcdserver: fix data race in Cluster struct
2014-11-06 14:04:14 -08:00
1e05cd75c7
etcdserver: refactor sender
...
1. restrict the number of inflight connections to remote member
2. support stop
2014-11-06 14:04:14 -08:00
99b1af40c6
etcdserver: move config validation to cluster
2014-11-05 17:55:07 -08:00
3fc6f9c24f
Merge pull request #1586 from xiangli-cmu/fix_node
...
*: add Advance interface to raft.Node
2014-11-05 15:09:51 -08:00
0d7c43d885
*: add a Advance interface to raft.Node
...
Node set the applied to committed right after it sends out Ready to application. This is not
correct since the application has not actually applied the entries at that point. We add a
Advance interface to Node. Application needs to call Advance to tell raft Node its progress.
Also this change can avoid unnecessary copying when application is still applying entires but
there are more entries to be applied.
2014-11-05 15:04:14 -08:00
4d40816a90
etcdserver: refactor non-blocking check for sync tests
...
to make it much more reliable and avoid false errors.
2014-11-04 13:07:44 -08:00
866ec5948c
etcdhttp/etcdserver: support HEAD on /v2/keys/ namespace
2014-11-04 00:06:49 -08:00
5da481213e
Merge pull request #1478 from unihorn/190
...
etcdserver: panic on storage error
2014-11-03 11:07:55 -08:00
433b4138c5
etcdserver: panic on storage error
...
It is a critical error to etcd, and etcd is not able to recover it now.
2014-11-03 10:46:04 -08:00
55c92ad456
*: create ID type
...
This creates a simple ID type (wrapped around uint64) to provide for
standard serialization/deserialization to a string (i.e. base 16
encoded). This replaces strutil so now that package is removed.
2014-10-31 10:34:07 -07:00
480e92d340
strutil: move IDAsHex/IDFromHex to new pkg
2014-10-27 18:39:09 -07:00
2472953939
etcdhttp: hex-encode member ID
2014-10-27 17:25:22 -07:00
ee27846d5b
Merge pull request #1422 from unihorn/187
...
etcdserver: parse context error for better message
2014-10-27 11:00:01 -07:00
e77f8e311c
etcdserver: parse context error for better message
2014-10-27 10:59:15 -07:00
6e6d1897d8
pkg: move everything into subpackages
2014-10-27 09:57:28 -07:00
009b737cef
*: better logging
2014-10-26 08:13:03 -07:00
ea0bff80c0
etcdserver: update member attribute when apply request
2014-10-24 12:43:53 -07:00
89572b5fd7
etcdserver: refactor cluster and clusterStore
...
Integrate clusterStore into cluster, and let cluster become the source of
cluster info.
2014-10-23 13:27:54 -07:00
5014558b00
etcdserver: clean code
2014-10-22 11:09:36 -07:00
89b032cd69
etcdserver: Member.storeKey -> memberStoreKey
2014-10-22 11:09:36 -07:00
7498234e40
etcdserver: record removed member to check incoming message
2014-10-22 11:09:35 -07:00
a44849deec
Merge pull request #1286 from coreos/clusterid
...
*: generate clusterid
2014-10-20 19:07:03 -07:00
b3d5333cb3
*: fix various formatting issues
2014-10-20 17:55:18 -07:00
92230cee63
Merge pull request #1333 from unihorn/172
...
etcdserver/raft: remove msgDenied, removedNodes, shouldStop
2014-10-20 16:04:09 -07:00
e200d2a8e2
etcdserver/raft: remove msgDenied, removedNodes, shouldStop
...
The future plan is to do all these in etcdserver level.
2014-10-20 15:13:18 -07:00
ea6bcacfe4
*: generate clusterid
2014-10-20 15:00:54 -07:00
f7a0d5387b
etcdserver: stop server gracefully
2014-10-20 14:43:21 -07:00
058537f34a
main: add basic functional test
2014-10-20 14:43:21 -07:00
7a4d42166b
*: add license header to all source files
2014-10-17 15:41:22 -07:00
1fa763b47b
store: remove unused function
2014-10-17 00:07:23 -07:00
8cd6030a1d
etcdserver: add checking when apply conf change
2014-10-16 09:49:26 -07:00
4183b69e12
*: move from third_party to Godep
2014-10-14 00:37:52 -07:00
f693c6ddf2
etcdserver: apply bootstrap conf change
2014-10-13 11:22:23 -07:00
0319b033ea
etcdserver/raft: set context for bootstrap addnode entries
2014-10-13 11:22:23 -07:00
3516cc3ee5
*: change all ID to uint64
2014-10-12 08:38:48 +08:00
77271b0663
etcdserver: split Member into RaftAttributes and Attributes
...
The split helps to save them in different key paths, because they have
distinct life cycle on update.
2014-10-09 20:28:00 -07:00
8bbbaa88b2
*: raft related int64 -> uint64
2014-10-09 14:29:21 +08:00