e55512f60b
fix(peer_server): graceful stop for peer server run
...
Peer server will be started and stopped repeatedly in the design.
This step ensures its stop doesn't affect the next start.
The patch includes goroutine stop and timer trigger remove.
2014-05-07 07:43:27 -07:00
82dee82bfd
chore: gofmt go files
2014-04-17 08:47:48 -07:00
67600603c5
chore: rename proxy mode to standby mode
...
It makes the name more reasonable.
2014-04-17 08:04:42 -07:00
65b872c8b5
Merge pull request #725 from dougm/server-lifecycle-fixes
...
fix(server): avoid race conditions in Run/Stop
2014-04-15 11:54:35 -07:00
adf4acf947
chore: gofmt go files
2014-04-15 09:42:25 -07:00
d73390a674
fix(server): avoid race conditions in Run/Stop
...
- don't close ready channel until PeerServer is listening.
avoids possible panic in Stop() if PeerServer is nil.
- avoid data race in Run() (err variable was shared between 2 goroutines)
- avoid data race in PeerServer Start/Stop (PeerServer.closeChan)
2014-04-15 09:24:54 -07:00
8bcfb2ecaf
Merge pull request #707 from unihorn/62
...
fix(peer_server): recover from outage with discovery
2014-04-14 13:58:43 -07:00
03839ca806
fix(peer_server): recover from outage with discovery
...
This patch also contains the refactor of find cluster process.
It is changed based on @xiangli-cmu 's commits in 627 issue.
2014-04-14 13:56:47 -07:00
0b790abd46
Merge pull request #705 from unihorn/61
...
feat: set NOCOW for log directory when in btrfs
2014-04-14 16:40:38 -04:00
4fd9e627c0
fix(peer join) fix wrong join command redirection
...
1. We use PUT request to do a V2 join. So we should redirect a PUT request rather than a POST.
2. /admin only accept V2Join request. Send out V2Join instead of V1Join.
2014-04-13 21:33:02 -04:00
56ef6fbcae
make necessary changes
2014-04-11 17:00:14 -07:00
79a89dcb82
Revert "Revert "fix(server): only set NOCOW for log file""
...
This reverts commit 9540575690
.
Conflicts:
etcd/etcd.go
2014-04-11 16:33:50 -07:00
9540575690
Revert "fix(server): only set NOCOW for log file"
...
This reverts commit 1eff547af6
.
2014-04-09 14:39:16 -07:00
1eff547af6
fix(server): only set NOCOW for log file
2014-04-09 12:35:32 -07:00
a3cbf02597
fix(tests): pass all tests using latest raft
2014-03-24 17:35:45 -07:00
62b89a128a
Merge branch 'master' of https://github.com/coreos/etcd into proxy
...
Conflicts:
config/config.go
server/peer_server.go
server/transporter.go
tests/server_utils.go
2014-03-24 15:30:14 -07:00
174b9ff343
bump(github.com/goraft/raft): 6bf34b9
...
Move from coreos/raft to goraft/raft and update to latest.
2014-03-24 15:09:47 -07:00
7d4fda550d
Machine join/remove v2 API.
2014-03-18 16:25:21 -06:00
c0a59b3a27
Add minimum active size and promote delay.
2014-03-10 14:44:04 -06:00
c91688315a
Minor fixes to proxies.
2014-03-07 07:38:40 -07:00
3fff1a8dcd
Add /machines and /machines/:name endpoints.
2014-03-06 15:11:31 -07:00
fe4dee03ab
Minor fixes.
2014-03-04 09:29:44 -07:00
c8d6b26dfd
Add auto-demotion after peer inactivity.
2014-03-03 11:15:05 -07:00
349a802a82
chore(server): remove useless CancelWhenTimeout
...
Setting request timeout is covered by go-httpclient now.
2014-02-28 21:52:56 -08:00
df49265674
fix(discovery): remove its own address from peer list to join
2014-02-27 14:31:28 -08:00
fddbf35df2
Add automatic node promotion / demotion.
2014-02-25 10:02:01 -07:00
f5698d3566
Proxy promotion.
2014-02-24 17:01:04 -07:00
1d961b8e56
Add proxy mode.
2014-02-22 15:02:20 -07:00
3a4df1612c
feat(discovery): adjust boot order to find peers
...
The boot order for peers is -discovery, -peers, log data, forming
new cluster itself.
Special rules:
1. If discovery succeeds, it would find peers specified by discover URL
only.
2. Etcd would fail when meeting bad -discovery, no -peers and log data.
Add TestDiscoveryDownNoBackupPeersWithDataDir as the test.
2014-02-17 12:53:39 -08:00
76da437f29
bump(github.com/coreos/raft): ef3280ce54f60fff98a72012f547ed2b3415841f
2014-02-07 11:19:23 -08:00
1b3481fe25
fix(server/peer_server): stop the raftServer in Stop()
...
Stop() the raftServer if we stop the peerServer so that tests that start
and stop PeerServers exit cleanly.
2014-02-06 22:10:10 -08:00
468a68c96c
feat(server): make the RetryInterval of PeerServer tunable
...
For tests and other environments it would be nice to be able to tune how
long to sleep between retries.
2014-02-06 22:10:09 -08:00
72514f8ab2
feat(bootstrap): initial working code
...
This is an initial version of the bootstrap code that seems to work
under the normal circumstances. I need to mock out a server that will
test out all of the error cases now.
2014-02-05 09:27:39 -08:00
9e43e726a9
Merge pull request #507 from philips/turn-snapshots-on-by-default
...
feat(*): enable snapshots by default
2014-02-05 09:08:43 -08:00
13b6c1e684
chore(*): make everything use goven
...
for i in github.com/BurntSushi/toml github.com/coreos/go-etcd/etcd github.com/coreos/go-log/log github.com/gorilla/context github.com/rcrowley/go-metrics bitbucket.org/kardianos/osext github.com/coreos/go-systemd/journal github.com/coreos/raft code.google.com/p/goprotobuf/proto ; do goven -copy -rewrite $i; done
2014-02-01 23:44:18 -08:00
ea8a353545
chore(*): gofmt everything
2014-02-01 23:44:10 -08:00
9a0ddb3760
feat(server): log on snapshot success or failure
...
lila.local: snapshot of 12 events completed at index 479
lila.local: snapshot of 12 events at index 491 attempted and failed: handling snapshot
2014-01-24 07:13:01 -08:00
2fe22f1890
refactor(servers): emit http.Handlers from *Server
2014-01-22 11:17:58 -08:00
f158dfcd77
refactor(peerserver): Remove PeerServerConfig.Path
2014-01-22 11:17:58 -08:00
19980a7033
refactor(peerserver): remove timeouts from PeerServerConfig
2014-01-22 11:17:58 -08:00
0abd860f7e
refactor(server): drop Serve code; rename cors object
...
* server/cors.go renamed to http/cors.go
* all CORS code removed from Server and PeerServer
* Server and PeerServer fulfill http.Handler, now passed to http.Serve
* non-HTTP code in PeerServer.Serve moved to PeerServer.Start
2014-01-22 11:17:57 -08:00
a2ee620394
refactor(raft): init raft transporter & server in main
2014-01-22 11:17:56 -08:00
ffa2b07dc4
refactor(transporter): Pass in everything the transporter needs
2014-01-22 11:17:43 -08:00
60bbc57aeb
refactor(transporter): pass in timeouts
2014-01-22 11:17:43 -08:00
86718167e8
refactor(peer_server): move stats construction to factories
2014-01-22 11:17:42 -08:00
7bd4d05a38
refactor(peer-server): move listener init out of peer_server.go
2014-01-22 11:17:41 -08:00
91fc6aabd2
chore(gofmt): Run gofmt
2014-01-22 11:17:26 -08:00
c0ff8f6026
chore(imports): Shift around some imports
2014-01-22 11:17:26 -08:00
a93d60be90
refactor(cors): Break apart CORS data and middleware
2014-01-22 11:17:26 -08:00
9c8a23c333
refactor(PeerServer): Use a config struct in PeerServer
2014-01-22 11:17:03 -08:00