87 Commits

Author SHA1 Message Date
Yicheng Qin
933ab1e4f7 rafthttp: peer.newURLc -> peer.newURLsC 2015-03-04 15:00:47 -08:00
Yicheng Qin
0fe9861197 rafthttp: support multiple peer urls 2015-03-04 15:00:07 -08:00
Xiang Li
17aa3cf7db rafthttp: add metrics for sending message 2015-03-04 11:18:16 -08:00
Xiang Li
c7146bd5f2 Merge pull request #2421 from xiang90/cleanup-rafthttp
Cleanup rafthttp
2015-03-03 22:35:01 -08:00
Xiang Li
44e53953c9 rafthttp: add comments for Transporter interface 2015-03-03 22:34:47 -08:00
Xiang Li
cb105c626c rafthttp: kill connection timeout TODO 2015-03-03 09:49:01 -08:00
Kelsey Hightower
3a132ad8ef Merge pull request #2413 from xiang90/refactor-peer
rafthttp: add comment for timeout
2015-03-03 06:40:24 -08:00
Yicheng Qin
1271b01069 Merge pull request #2406 from yichengq/333
rafthttp: add functional tests
2015-03-02 22:51:55 -08:00
Xiang Li
115b045505 rafthttp: add comment for timeout 2015-03-02 16:52:19 -08:00
Xiang Li
88bde91716 rafhttp: refactor func peer.pick in peer.go 2015-03-02 15:17:14 -08:00
Yicheng Qin
81c67eed9c rafthttp: add functional tests 2015-03-02 14:22:20 -08:00
Yicheng Qin
fc2d7019e5 rafthttp: {nopProcessor, errProcessor} -> fakeRaft 2015-03-02 13:31:56 -08:00
Yicheng Qin
f59b60671e rafthttp: add peer tests 2015-03-02 13:30:30 -08:00
Yicheng Qin
45d6b76eea rafthttp: add stream tests 2015-03-02 13:29:05 -08:00
Yicheng Qin
8ec28f27d1 rafthttp: streamReader roundtrip -> dial 2015-03-02 13:26:48 -08:00
Yicheng Qin
a299f68e09 rafthttp: add transport benchmark test 2015-03-02 13:25:32 -08:00
Yicheng Qin
9d445d2fcf rafthttp: add transport tests 2015-03-02 13:25:30 -08:00
Yicheng Qin
399e3cdf81 rafthttp: add stream http tests 2015-03-02 13:24:50 -08:00
Yicheng Qin
b4b9b9118a rafthttp: report MsgSnap status 2015-03-02 09:38:11 -08:00
Yicheng Qin
78aa251ab2 rafthttp: only use pipeline to send MsgSnap
The size of MsgSnap may be very big, e.g., 1G.
If its size is big and general streaming is used to send it, it may block
the following messages for several ten seconds, which interrupts the
heartbeat heavily.
Only use pipeline to send MsgSnap.
2015-03-02 09:35:54 -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
Yicheng Qin
eeaf12beb1 rafthttp: use /raft/stream for MsgApp stream
New rafthttp uses /raft/stream/msgapp for MsgApp stream, but v2.0 rafthttp
cannot understand it. Use the old endpoint /raft/stream instead for backward
compatibility, and plan to move to new endpoint in the version after the
next one.
2015-02-28 11:35:16 -08:00
Yicheng Qin
758ff26dd8 rafthttp: add copyright header 2015-02-28 11:35:16 -08:00
Yicheng Qin
1fdbbb959f rafthttp: add util, msgapp, message test 2015-02-28 11:35:16 -08:00
Yicheng Qin
dee3001086 rafthttp: add back tests that commentted out 2015-02-28 11:35:16 -08:00
Yicheng Qin
1c5a507761 rafthttp: refactor peer and add general stream 2015-02-28 11:35:16 -08:00
Yicheng Qin
2c94e2d771 *: make dial timeout configurable
Dial timeout is set shorter because
1. etcd is supposed to work in good environment, and the new value is long
enough
2. shorter dial timeout makes dial fail faster, which is good for
performance
2015-02-28 11:18:59 -08:00
Yicheng Qin
55cd03ff4b rafthttp: add run loop for peer 2015-02-28 11:18:59 -08:00
Xiang Li
7bf615aee0 *: drop old metrics pkg 2015-02-28 11:16:41 -08:00
Yicheng Qin
d8a9e11e22 rafthttp: extract pipeline from peer 2015-02-28 11:06:11 -08:00
Xiang Li
99840c9697 *: cleanup import 2015-02-28 10:12:35 -08:00
Xiang Li
9b6fcfffb6 *: replace our own metrics with codahale/metrics 2015-02-28 10:11:53 -08:00
Yicheng Qin
ca390560f9 rafthttp: fix panic on receiving empty ents
2.0 rc may send empty ents. Fix it for backward compatibility.
2015-02-20 15:07:27 -08:00
Xiang Li
c16cc3a6a3 etcdserver: recover transport when recovering from a snapshot 2015-02-13 10:16:28 -08:00
Amit Gupta
317e57a8a8 rafthttp: Panic informatively when removing unknown peer ID 2015-02-12 14:43:44 -08:00
Xiang Li
58112c4d2d rafthttp: remove follower from leaderstats when it is removed from the cluster 2015-02-10 11:22:33 -08:00
Yicheng Qin
96fde55a0f rafthttp: not send 0-entry MsgApp using stream
It is not sent out because it is useless to let remote raft step the
message.
Moreover, MsgApp stream reader can always assume that the length
of entries sent is > 0.
2015-02-10 00:02:22 -08:00
Brandon Philips
a4c4027dc7 rafthttp: becomes -> became in log line
Simple grammar fix.
2015-02-04 21:28:23 -08: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
Brian Waldon
2120af8cfc pkg: ioutils -> ioutil 2015-01-22 17:14:01 -08:00
Yicheng Qin
99821579bf metrics: add /rafthttp/stream metrics 2015-01-21 13:24:21 -08:00
Yicheng Qin
84ceefbffc rafthttp: write StatusOK before start streaming 2015-01-15 14:44:24 -08:00
Xiang Li
0c55cfb21e Merge pull request #2036 from xiang90/trtr
refactor rafthttp
2015-01-05 14:08:51 -08:00
Xiang Li
1aa8f1eee6 rafthttp: clean up reader when failed 2015-01-05 12:04:25 -08:00
Xiang Li
4938e6bff5 rafthttp: a stopped peer does not accept any methods 2015-01-03 20:02:43 -08:00
Xiang Li
3319f716d9 rafthttp: a stopped stream does not accept any methods 2015-01-03 19:39:33 -08:00
Xiang Li
15be030aaa etcdserver: collect error from errorc 2015-01-02 20:13:46 -08:00
Xiang Li
95a661251d rafthttp: rename streamClient -> streamReader 2014-12-31 21:20:58 -08:00
Xiang Li
fe53ffd74d rafthttp: streamserver -> streamwriter 2014-12-31 21:11:24 -08:00
Yicheng Qin
2292da15d6 rafthttp: fix stream.open call 2014-12-31 10:02:45 -08:00