1834 Commits

Author SHA1 Message Date
Brandon Philips
3c04f8b664 fix(scripts/build-release): put everything into a release dir 2014-05-20 17:53:17 -07:00
Brandon Philips
cc37c58103 chore(server): bump to 0.4.0+git 2014-05-20 17:10:28 -07:00
Brandon Philips
07d1eb0edb chore(server): bump to 0.4.0 v0.4.0 2014-05-20 17:09:22 -07:00
Blake Mizerany
9a006d673b doc(README): add note about 32bit systems - fixes 358 2014-05-20 16:23:33 -07:00
Xiang Li
6860bfdd28 Merge pull request #805 from xiangli-cmu/fix_test
fix(test/remove_node_test.go) fix a deadlock in the test
2014-05-20 14:37:53 -07:00
Xiang Li
aaedf32c04 fix(test/remove_node_test.go) fix a deadlock in the test
The go-etcd client waits for the response from the paused node. And the test waits for the reponse to continue.
Actually we do not even need that small test, since we will check the machine status afterwards.
2014-05-20 14:34:59 -07:00
Xiang Li
16d89c906b Merge pull request #804 from xiangli-cmu/fix_curr_index_race
fix(store): synchronize access to CurrentIndex
2014-05-20 14:32:45 -07:00
Xiang Li
516ebdb49e fix(store): synchronize access to CurrentIndex 2014-05-20 13:53:47 -07:00
Xiang Li
1e7a7b11dd Merge pull request #799 from xiangli-cmu/deny_unknow_peer
hack(server): notify removed peers when they try to become candidates
2014-05-20 13:37:14 -07:00
Xiang Li
4c953a7ca2 Merge pull request #803 from unihorn/94
fix(peer_server): set store and registry when setting raft server
2014-05-20 13:36:16 -07:00
Yicheng Qin
934c28d498 fix(peer_server): set store and registry when setting raft server
New raft server needs new store and registry.
2014-05-20 13:12:12 -07:00
Xiang Li
0c8b13c04f Merge pull request #19 from unihorn/92
tests(remove_node): add TestRemovePausedNode
2014-05-20 11:06:00 -07:00
Yicheng Qin
9e5b12f591 tests(remove_node): add TestRemovePausedNode 2014-05-20 11:01:14 -07:00
Xiang Li
189fece683 hack(server): notify removed peers when they try to become candidates
A peer might be removed during a network partiton. When it comes back it
will not have received any of the log entries that would have notified
it of its removal and go onto propose a vote. This will disrupt the
cluster and the cluster should give the machine feedback that it is no
longer a member.

The term of a denied vote is MaxUint64. The notification of the removal
is a raft event. These two modification are quick heck.

In reaction to this notification the machine should shutdown. In this
case the shutdown just moves it towards becoming a standby server.
2014-05-20 10:17:32 -07:00
Brandon Philips
ad27aa0f70 Merge pull request #791 from yifan-gu/ipv6_zone_fix
Ipv6 zone fix
2014-05-20 09:37:28 -07:00
Brandon Philips
dffe460210 Merge pull request #793 from binocarlos/patch-1
Added the -peer-heartbeat-interval option
2014-05-20 09:30:11 -07:00
Yifan Gu
b4e4bf4b75 fix(config.go)
return a valid URL struct from sanitizeURL()
pass the URL struct above to sanitizeBindAddr()

Since url.Parse() will return an error when parsing an already-parsed
ipv6 url string, (e.g. [http://[fe80::6203:8ff:fe9e:ace%25eth0]:7001),
so I just return the valid URL struct from sanitizeURL() and send it to
sanitizeBindAddr(), then there is no need to parse it again in sanitizeBindAddr().

Besides, for IPV6 url, the percent sign should be escaped, see:
http://en.wikipedia.org/wiki/IPv6_address#Link-local_addresses_and_zone_indices
2014-05-18 12:42:47 -07:00
Kai Davenport
e9482167a8 Added the -peer-heartbeat-interval option 2014-05-18 19:22:48 +01:00
Brandon Philips
cbcf55dabb Merge pull request #744 from unihorn/71
docs(api): add Cluster Config API
2014-05-18 10:09:07 -07:00
Brandon Philips
1084e51320 Merge pull request #786 from unihorn/91
feat(standby_server): write cluster info to disk
2014-05-18 10:08:52 -07:00
Brandon Philips
ad9155c82a Merge pull request #789 from bass3m/master
Add Julia etcd client
2014-05-17 16:15:35 -07:00
Yicheng Qin
84f71b6c87 chore(standby_server): remove error return
because standby server should be started in best efforts.
2014-05-16 18:07:49 -04:00
Bassem Youssef
d2d68f96fc Add Julia etcd client 2014-05-16 10:11:31 -07:00
Yicheng Qin
71679bcf56 feat(standby_server): make atomic move for file
to avoid the risk of writing out a corrupted file.
2014-05-16 01:00:07 -04:00
Yicheng Qin
a824be4c14 feat(standby_server): save/load Running into disk 2014-05-16 00:10:15 -04:00
Yicheng Qin
35cc81e22f feat(standby_server): save/load syncInterval to disk 2014-05-15 23:57:58 -04:00
Yicheng Qin
716496ec42 chore(standby_server): still sleep for the first time 2014-05-15 23:18:59 -04:00
Yicheng Qin
e5ce4fca2e docs(standbys): clarify pseudocode 2014-05-15 22:47:12 -04:00
Jonathan Boulle
9940347eea Merge pull request #788 from alex-sherwin/patch-1
fix(doc): fixed typo for etcd lock examples
2014-05-15 18:30:15 -07:00
Alex Sherwin
d2a2cc13b0 fixed typo for etcd lock examples 2014-05-15 21:27:50 -04:00
Yicheng Qin
b7d9fdbd39 feat(standby_server): write cluster info to disk
For better fault tolerance and availability.
2014-05-15 07:47:15 -04:00
Brandon Philips
7cf8a4a8d0 Merge pull request #779 from unihorn/89
feat: implement standby mode
2014-05-14 10:03:03 -07:00
Yicheng Qin
851026362a chore(standby_server): let syncInterval represent in second unit
This is done to keep consistency with other namings.
2014-05-14 10:13:05 -04:00
Yicheng Qin
fc77b3e9e6 fix(simple_snapshot_test): enlarge reasonable index range 2014-05-13 22:28:28 -04:00
Yicheng Qin
f6591b95c7 chore(standby): minor changes based on comments 2014-05-13 22:19:52 -04:00
Yicheng Qin
403f709ebd chore(cluster_config): set default timeout to 5s
Or the leader death could let the standbys down for a rather long time.
2014-05-13 16:13:44 -04:00
Yicheng Qin
cbb706cd47 bump(goraft/raft): c76c5d95 2014-05-13 11:08:03 -04:00
Yicheng Qin
c0027bfc78 feat(cluster_config): change field from int to float64
This is modified for better flexibility, especially for testing.
2014-05-12 22:42:18 -04:00
Yicheng Qin
735ffb3092 Merge pull request #782 from unihorn/90
fix(TestV1Watch): ensure server has started
2014-05-09 15:51:48 -07:00
Yicheng Qin
6a64141962 fix(TestV1Watch): ensure server has started 2014-05-09 15:42:18 -07:00
Yicheng Qin
5367c1c998 chore(standby): minor changes based on comments 2014-05-09 15:38:03 -07:00
Yicheng Qin
c6b1a738c3 feat(option): add cluster config option
It will be used when creating a brand-new cluster.
2014-05-09 15:22:11 -07:00
Yicheng Qin
6d4f018887 chore(cluster_config): rename SyncClusterInterval to SyncInterval
for better naming
2014-05-09 13:28:21 -07:00
Yicheng Qin
765cd5d8b3 refactor(find_cluster): make it simpler 2014-05-09 02:27:04 -07:00
Yicheng Qin
baadf63912 feat: implement standby mode
Change log:
1. PeerServer
- estimate initial mode from its log through removedInLog variable
- refactor FindCluster to return the estimation
- refactor Start to call FindCluster explicitly
- move raftServer start and cluster init from FindCluster to Start
- remove stopNotify from PeerServer because it is not used anymore
2. Etcd
- refactor Run logic to fit the specification
3. ClusterConfig
- rename promoteDelay to removeDelay for better naming
- add SyncClusterInterval field to ClusterConfig
- commit command to set default cluster config when cluster is created
- store cluster config info into key space for consistency
- reload cluster config when reboot
4. add StandbyServer
5. Error
- remove unused EcodePromoteError
2014-05-09 01:56:55 -07:00
Yicheng Qin
5bd08a327d docs(standbys): specification for standby module 2014-05-08 15:02:55 -07:00
Yicheng Qin
f1c13e2d9d Merge pull request #774 from unihorn/83
feat(join): check cluster conditions before join
2014-05-08 14:08:38 -07:00
Yicheng Qin
6c950eaf97 Merge pull request #772 from unihorn/81
feat(peer_server): stop service when removed
2014-05-08 14:02:09 -07:00
Yicheng Qin
5c7a963cf0 chore(peer_server): adjust code to make it more clear 2014-05-08 13:20:46 -07:00
Yicheng Qin
c92231c91a Merge branch 'master' of github.com:coreos/etcd
Conflicts:
	server/peer_server_handlers.go
2014-05-08 13:17:51 -07:00