Commit Graph

253 Commits (c8cc87c3f5527c386bba2ad4a27da757f812664c)

Author SHA1 Message Date
Anthony Romano 59ac42ff38 Merge pull request #6073 from heyitsanthony/rafthttp-close-stream
rafthttp: close http socket when pipeline handler gets a raft error
2016-07-31 21:49:04 -07:00
Anthony Romano 911dcc9386 rafthttp: close http socket when pipeline handler gets a raft error
Otherwise the http stream remains open and keeps receiving raft messages.
This can lead to "raft: stopped" log spam on closing an embedded server.

Fixes #5981
2016-07-31 20:25:42 -07:00
Xiang Li 9311d7b77e rafthttp: log health checking error early 2016-07-31 19:58:22 -07:00
Anthony Romano 3a080143a7 rafthttp: make health check meaning clearer 2016-07-06 10:31:13 -07:00
Nikita Vetoshkin fd5bc21522 rafthttp: use pointers to avoid extra copies upon message encoding 2016-06-29 21:17:18 +05:00
Gyu-Ho Lee e221699fd8 rafthttp: fix from go vet, go lint 2016-06-22 12:04:15 -07:00
Xiang Li 6af0917812 *: add peer prefix for network metrics between peers 2016-06-17 11:59:49 -07:00
Anthony Romano dc91da50b5 rafthttp: snapshot tests 2016-06-06 11:38:11 -07:00
Xiang Li 5183631f17 rafthttp: report error to correct chan 2016-06-03 09:18:02 -07:00
Xiang Li a047aa4a81 rafthttp: rename to to peerID 2016-06-01 22:12:47 -07:00
Xiang Li c25c00fcf9 rafthttp: simplify initialization funcs 2016-06-01 21:47:46 -07:00
Xiang Li 8528c8c599 *: more logging on critical state change
Add more logging for better debugging purpose.
2016-05-31 23:31:03 -07:00
Xiang Li 86269ab5bf rafthttp: simplify streamReader initilization 2016-05-31 12:13:37 -07:00
Xiang Li ba68d7bbe6 rafthttp: make newRemote simpler 2016-05-30 16:24:26 -07:00
Xiang Li efe0ee7e59 rafthttp: remove the newPipeline func
Using struct to initialize pipeline is better when we have many
fields to file in.
2016-05-30 16:19:50 -07:00
Gyu-Ho Lee c9264c5e65 rafthttp: replace append with pre-allocated slice 2016-05-20 15:20:55 -07:00
Gyu-Ho Lee d20cb40f4f rafthttp: fix TestSendMessageWhenStreamIsBroken
Fix https://github.com/coreos/etcd/issues/5381.

In case CI being slow that taking more than 10ms.
2016-05-17 16:03:54 -07:00
Gyu-Ho Lee bd71a60875 rafthttp: update LICENSE header 2016-05-12 20:49:28 -07:00
Xiang Li 4d0f474034 *: fix TestTransportErrorc
CI can be slow. We should just wait longer.
2016-05-11 10:09:40 -07:00
Xiang Li 98dbdd5fbb *: simplify network metrics 2016-05-09 22:37:12 -07:00
Anthony Romano c5af1d7a88 rafthttp: fix race on peer status activeSince 2016-05-04 11:48:16 -07:00
Anthony Romano 8291110049 rafthttp: do not create new connections after stopping transport 2016-04-28 10:10:52 -07:00
Xiang Li 67645095e9 *: add debugging metrics 2016-04-26 09:52:56 -07:00
Xiang Li fb137f11c5 rafthttp: make TestPipelineKeepSendingWhenPostError reliable 2016-04-20 09:38:47 -07:00
Gyu-Ho Lee 641a1a66e1 *: fix govet -shadow in go tip 2016-04-15 07:39:52 -07:00
Xiang Li f2d558644d rafthttp: fix comment in msgappv2 2016-04-12 10:14:06 -07:00
Gyu-Ho Lee 6e6d64fb9b *: clean up unused vars, functions
With help from https://github.com/dominikh/go-unused.
IsNetTimeoutError seems useful, so moved to pkg/netutil.
2016-04-06 21:33:55 -07:00
Gyu-Ho Lee c09f23c46d *: clean up bool comparison 2016-04-02 18:27:54 -07:00
Gyu-Ho Lee a42d1dc1fe *: drain http.Response.Body before closing 2016-03-30 09:35:47 -07:00
Anthony Romano d533c14881 Merge pull request #4876 from heyitsanthony/integration-races
*: fix races from clientv3/integration tests
2016-03-29 09:10:53 -07:00
Xiang Li 0c137b344b rafthttp: do not block on proposal 2016-03-28 21:40:12 -07:00
Anthony Romano 813afc3d11 rafthttp: fix race between AddRemote and Send 2016-03-28 16:08:18 -07:00
Xiang Li 70a9391378 *: enable v3 by default 2016-03-23 17:01:36 -07:00
Xiang Li 900a61b023 *: http and https on the same port 2016-03-23 10:28:38 -07:00
Anthony Romano bd832e5b0a *: migrate Godeps to vendor/ 2016-03-22 17:10:28 -07:00
Gyu-Ho Lee 21b33de810 rafthttp: drop go1.4 tests 2016-03-18 18:46:11 -07:00
Xiang Li 5d256b7b86 rafthttp: pause peer should also pause its reader 2016-03-17 09:43:02 -07:00
Anthony Romano afa0368dcc *: fix godoc bugs in interfaces and slice fields
detected with goword
2016-02-24 00:45:40 -08:00
Anthony Romano c5b51946eb *: exported godoc fixups 2016-02-21 20:36:44 -08:00
Xiang Li 2a3cacb60c rafthttp: remove unncessary go routine 2016-02-18 07:57:58 -08:00
Xiang Li e4f22cd6d8 rafthtt: smart batching
Improved the overall performance more than 20% under heavyload
with little latency impact

heavy load
```
Requests/sec: ~23200  vs  Requests/sec: ~31500

Latency distribution:
  10% in 0.0883 secs.
  25% in 0.1022 secs.
  50% in 0.1207 secs.
  75% in 0.1460 secs.
  90% in 0.1647 secs.
  95% in 0.1783 secs.
  99% in 0.2223 secs.

vs

Latency distribution:
  10% in 0.1119 secs.
  25% in 0.1272 secs.
  50% in 0.1469 secs.
  75% in 0.1626 secs.
  90% in 0.1765 secs.
  95% in 0.1863 secs.
  99% in 0.2276 secs.
```

Similar on light load too.
2016-02-17 13:17:12 -08:00
Xiang Li 74382f56fb rafthttp: handle short case in if statement 2016-02-16 19:26:51 -08:00
Xiang Li d393102e24 rafthttp: refactor 2016-02-16 19:21:53 -08:00
Xiang Li 11d3e9ac69 rafthttp: better comment for streamWriter 2016-02-16 19:21:06 -08:00
Xiang Li 56318f5433 rafthttp: add necessary locking 2016-02-16 19:18:05 -08:00
Xiang Li b72a0788ad Merge pull request #4439 from xiang90/fix_tr
transport: make tr stop safe
2016-02-08 11:25:03 -08:00
Xiang Li ea688c1f06 transport: make tr stop safe 2016-02-08 11:13:52 -08:00
Anthony Romano fe7cfe4d3d rafthttp: plumb local peer URLs through transport 2016-02-05 16:44:41 -08:00
Anthony Romano db0b505de5 rafthttp: add requester to transport if peer does not exist
cluster integration now supports adding members with stopped nodes, too

Fixes #3699
2016-02-03 14:16:46 -08:00
Anthony Romano 20461ab11a *: fix many typos 2016-01-31 21:42:39 -08:00