Yicheng Qin
9f19b5660f
rafthttp: add AddRemote
...
Add remotes to rafthttp, who help newly joined members catch up the
progress of the cluster. It supports basic message sending to remote, and
has no stream connection for simplicity. remotes will not be used
after the latest peers have been added into rafthttp.
2015-04-24 11:49:23 -07:00
xiaost
cab1e9a723
etcdserver: skip noop entry in apply
2015-04-24 12:15:51 +08:00
Yicheng Qin
1d96de459a
etcdserver: init server stats before passing it as argument
...
It is more reasonable to init the variable before passing it as an
argument.
It fixes a bug that etcdserver may panic on server stats when processing
a message from rafthttp streamReader before server stats is initialized
in server.Start().
2015-04-22 08:28:08 -07:00
Yicheng Qin
1811701427
Revert "etcdserver: fix cluster fallback recovery"
...
This reverts commit cff005777a40bcf3a5bea3e87387273afe054ce1.
Conflicts:
etcdserver/server.go
2015-04-19 11:34:33 -07:00
Yicheng Qin
88224f6f4e
Revert "etcdserver: not apply stale conf change in cluster and transport"
...
This reverts commit 40197f06987aac9c3a539e9022ad1f1e573326e7.
2015-04-19 11:08:03 -07:00
Xiang Li
98f8dfbc9d
etcdserver: prevExist=true + condition is compareAndSwap
...
PrevExist indicates the key should exist. Condition compares with
an existing key. So PrevExist+condition = CompareAndSwap not Update.
2015-04-14 23:44:06 -07:00
xiaost
eab2c2224a
etcdserver: fix minor bug in EtcdServer.send
...
it seems to nothing serious.
after deleted peers, the log may output:
"etcdserver: send message to unknown receiver %s"
2015-04-13 20:35:58 +08:00
Yicheng Qin
7a7e1f7a7c
etcdserver: metrics and monitor number of file descriptor
...
It exposes the metrics of file descriptor limit and file descriptor used.
Moreover, it prints out warning when more than 80% of fd limit has been used.
```
2015/04/08 01:26:19 etcdserver: 80% of the file descriptor limit is open
[open = 969, limit = 1024]
```
2015-04-08 11:17:48 -07:00
Yicheng Qin
9e5743c816
etcdserver: stop raft node goroutine before stop server
...
Stop raftNode goroutine before stopping server goroutine, so
server.Stop does stop all underlying stuffs elegantly now. This fixes
the problem that previous-round lock on WAL may not be released when
etcd is restarted.
2015-04-01 11:20:51 -07:00
Yicheng Qin
dd92a2b484
Merge pull request #2556 from yichengq/fix-apply-conf
...
etcdserver: not apply stale conf change
2015-03-27 14:00:30 -07:00
Yicheng Qin
40197f0698
etcdserver: not apply stale conf change in cluster and transport
2015-03-27 12:53:34 -07:00
Yicheng Qin
5e0077cc0c
etcdserver: print out extra files in data dir instead of erroring
2015-03-24 18:56:22 -07:00
Yicheng Qin
abcd828114
etcdserver: add join-existing check
2015-03-23 22:31:20 -07:00
Xiang Li
d015610da5
etcdserver: separate apply and raft routine
2015-03-10 13:34:24 -07:00
Yicheng Qin
b4b9b9118a
rafthttp: report MsgSnap status
2015-03-02 09:38:11 -08:00
Yicheng Qin
9989bf1d36
Merge pull request #2407 from yichengq/334
...
rafthttp: report unreachable status of the peer
2015-03-02 09:35:35 -08:00
Yicheng Qin
9b986fb4c1
rafthttp: report unreachable status of the peer
...
When it failed to send message to the remote peer, it reports unreachable
to raft.
2015-03-01 16:48:26 -08:00
Xiang Li
428b77afc3
etcdserver: keep a min number of entries in memory
...
Do not aggressively compact raft log entries. After a snapshot,
etcd server can compact the raft log upto snapshot index. etcd server
compacts to an index smaller than snapshot to keep some entries in memory.
The leader can still read out the in memory entries to send to a slightly
slow follower. If all the entries are compacted, the leader will send the
whole snapshot or read entries from disk if possible.
2015-03-01 10:12:13 -08:00
Xiang Li
a4dab7ad75
*: do not block etcdserver when encoding store into json
...
Encoding store into json snapshot has quite high CPU cost. And it
will block for a while. This commit makes the encoding process non-
blocking by running it in another go-routine.
2015-02-28 11:41:58 -08:00
Xiang Li
86429264fb
wal: support auto-cut in wal
...
WAL should control the cut logic itself. We want to do falloc to
per allocate the space for a segmented wal file at the beginning
and cut it when it size reaches the limit.
2015-02-28 11:18:59 -08:00
Xiang Li
95bba154d6
etcdserver: add propose summary
2015-02-28 11:16:42 -08:00
Xiang Li
2e078582f9
etcdmain: expose runtime metrics
2015-02-28 10:11:53 -08:00
Xiang Li
33afbfead6
etcdserver: remove the dep on metrics. first step towards removing metrics pkg from etcd.
2015-02-28 10:09:55 -08:00
Xiang Li
5ede18be74
raft: separate compact and createsnap in memory storage
2015-02-28 10:08:30 -08:00
Yicheng Qin
cff005777a
etcdserver: fix cluster fallback recovery
...
Cluster and transport may recover to old states when new node joins
the cluster. Record cluster last modified index to avoid this.
2015-02-20 14:30:00 -08:00
Barak Michener
92dca0af0f
*: remove shadowing of variables from etcd and add travis test
...
We've been bitten by this enough times that I wrote a tool so that
it never happens again.
2015-02-17 16:31:42 -05:00
Xiang Li
beb44ef6ba
etcdserver: fix error message when valide the discovery cluster
2015-02-16 09:53:01 -08:00
Xiang Li
c5ca1218f3
etcdserver: GetClusterFromPeers -> GetClusterFromRemotePeers
2015-02-13 19:05:29 -08:00
Xiang Li
f7540912d6
etcdserver: getOtherPeerURLs -> getRemotePeerURLs
2015-02-13 18:56:45 -08:00
Xiang Li
cfa7ab6074
etcdserver: validate discovery cluster
2015-02-13 14:32:24 -08:00
Xiang Li
c16cc3a6a3
etcdserver: recover transport when recovering from a snapshot
2015-02-13 10:16:28 -08:00
Xiang Li
fbc4c8efb5
etcdserver: fix snapshot
2015-02-13 09:54:25 -08:00
Barak Michener
a0e3bc9cbd
etcdserver: Unmask the snapshotter. Fixes #2295
2015-02-13 11:56:00 -05:00
Barak Michener
cd50f0e058
etcdserver: Create MemberDir() and base {Snap,WAL}Dir() thereon. Audit DataDir.
2015-02-12 12:45:19 -05:00
Barak Michener
fade9b6065
etcdserver: Refactor 2.0.1 directory rename into a proper migration
...
fix all instances
fix detection test
2015-02-12 11:53:19 -05:00
Xiang Li
163f0f09f6
etcdserver: cleanup cluster_util
2015-02-11 16:20:38 -08:00
Xiang Li
20497f1f85
etcdserver: move remote cluster retrive to cluster_util.go
2015-02-11 14:03:14 -08:00
Xiang Li
6e1aecfc6f
etcdserver: save confstate when apply new snapshot
2015-02-10 07:31:25 -08:00
Yicheng Qin
f13c7872d5
etcdserver: register pre-defined namespaces in store
2015-02-04 16:33:40 -08:00
Yicheng Qin
7840d49ae0
etcdserver: not add self to transporter based on local ID
...
If this is decided by local name, it comes to trouble if the name is
duplicate in the cluster.
2015-01-29 12:35:47 -08:00
Xiang Li
276c9540b4
etcdserver: support raft.status
2015-01-26 16:39:33 -08:00
Xiang Li
9c7f66c5d9
Merge pull request #2119 from sorah/peer-ca-on-fetching-members
...
etcdserver: User peerTLSInfo to get cluster member
2015-01-26 10:50:44 -08:00
Shota Fukumori (sora_h)
033e7d1db9
etcdserver: User peerTLSInfo to get cluster member
2015-01-27 03:43:21 +09:00
Jonathan Boulle
f1ed69e883
*: switch to line comments for copyright
...
Build tags are not compatible with block comments.
Also adds copyright header to a few places it was missing.
2015-01-26 09:53:30 -08:00
Xiang Li
973f79e1c9
etcdserver: separate out raft related stuff
2015-01-15 15:15:13 -08:00
Xiang Li
276a4abac0
etcdserver: make heartbeat/election configurable
2015-01-15 11:11:33 -08:00
Yicheng Qin
07a69430c1
*: move etcdserver/idutil -> pkg/idutil
2015-01-13 11:54:51 -08:00
Yicheng Qin
bca1e5aea6
Merge pull request #2057 from yichengq/282
...
fix context time-out failure on travis
2015-01-07 13:41:26 -08:00
Yicheng Qin
930156c18a
integration: adjust election ticks using env var
2015-01-07 11:18:29 -08:00
Yicheng Qin
6b237416e1
Merge pull request #2044 from yichengq/278
...
wal: record mark when snapshotting
2015-01-07 08:26:33 -08:00