Commit Graph

202 Commits

Author SHA1 Message Date
Menghan Li 07bd9434fa Pass custom dialer to balancer (#1205)
* Pass custom dialer to balancer
* add test for passing custom dialer
* add grpclb package comment
2017-05-11 10:10:19 -07:00
Alec Thomas ffa4ec7da2 Ensure that RoundRobin.Close() does not panic. (#1139) 2017-05-05 13:59:00 -07:00
MakMukhi f3b5bf53ce Make window size configurable. (#1210)
* Make window size configurable.
2017-05-05 13:26:56 -07:00
Adele Zhou 7ddf89f9b7 Fix doc 2017-05-04 10:30:28 -07:00
Menghan Li 277e90a432 Client load report for grpclb. (#1200) 2017-04-27 10:43:38 -07:00
Menghan Li 955c867061 Support proxy with dialer (#1098)
With this change, the default dialer checks environment variables to see if proxy is needed. If so, it dials to the proxy and does an HTTP CONNECT handshake.
2017-04-17 16:08:50 -07:00
MakMukhi bfa5dd27dc Client should update keepalive parameters upon receiving GoAway with … (#1169)
* Client should update keepalive parameters upon receiving GoAway with EnhanceYourCalm and debug data of too_many_pings.
2017-04-10 14:33:51 -07:00
Menghan Li 0df08a7a03 :authority should include port number (#1123) 2017-03-28 11:09:23 -07:00
Menghan Li 14a6be430b Add grpc.Version string and use it in the UA (#1144) 2017-03-24 11:29:02 -07:00
dfawley c5a5dbc500 Don't return an error from dial if the balancer returns no initial servers (#1112)
This modifies the WithBlock behavior somewhat to block until there is at least
one valid connection.  Previously, each connection would be made serially until
all had completed successfully, with any errors returned to the caller.  Errors
are now only returned due to connecting to a backend if a balancer is not used,
or if there is an error starting the balancer itself.

Fixes #976
2017-03-21 11:35:53 -07:00
Mahak Mukhi 0e71619115 making client consistent with server 2017-03-09 17:48:37 -08:00
Mahak Mukhi a94b0948a3 Client should have a check on maximum size of received message size. 2017-03-09 16:58:23 -08:00
Mahak Mukhi 661dbbc817 conflict resolve 2017-03-06 13:19:09 -08:00
Doug Fawley 77204bfdf2 Add comment explaining why cancel is not called in success path after client transport is created 2017-03-03 16:46:26 -08:00
Mahak Mukhi bc3cca9945 Implementation changes;Using an independent goroutine for keepalive checks. 2017-02-28 11:49:51 -08:00
Mahak Mukhi 336b4ea3cf post review update 2017-02-10 16:47:43 -08:00
Chris Roche c7430a063e Only override :authority for insecure dials 2017-02-09 10:46:00 -08:00
Chris Roche 84bee50bda Add DialOption to overwrite :authority pseudo-header
The :authority pseudo-header for a gRPC Client defaults to the host
portion of the dialed target and can only be overwritten by providing a
TransportCredentials. However, there are cases where setting this header
independent of any tranport security is valid. In my particular case,
in order to leverage Envoy for request routing, the cluster/service name
must be provided in the :authority header. This may also be useful in a
testing context.

This patch adds a DialOption to overwrite the authority header,
even if TransportCredentials are provided (I'd imagine you'd only ever
need to specify one or the other).
2017-02-03 17:29:18 -08:00
Mahak Mukhi 0bdf059601 post review updates 2017-01-31 16:09:40 -08:00
Mahak Mukhi 5fcb58f02d post review updates 2017-01-30 11:32:54 -08:00
Mahak Mukhi e78a1f396d conflict resolve 2017-01-27 11:18:35 -08:00
Menghan Li cb653e4b61 Change stats APIs (#1030)
Change stats API from one static handler to one handler per server or client.
2017-01-09 17:11:32 -08:00
Mahak Mukhi 49d2a88c27 Comment formatting 2017-01-06 17:18:22 -08:00
Mahak Mukhi eeb6f5bade code cleaning 2017-01-06 16:52:37 -08:00
Qi Zhao 09aecb094e Add the initial service config support (#1009)
* Add the initial service config support

* start scWatcher later

* remove timeoutCh

* address the comments

* deal with dial timeout

* defer cancel for the newly created context for correct lifetime management

* fix the defer order

* added other 2 missing cancels
2016-12-19 16:31:00 -08:00
Mahak Mukhi 058907d033 refactored and rectified test failures 2016-11-18 13:55:04 -08:00
Mahak Mukhi e58450b5d3 Keepalive client-side implementation 2016-11-17 17:50:52 -08:00
Menghan Li c31bccc236 add FailOnNonTempDialError to control if gRPC should fail on non-temp dial error 2016-11-15 11:14:07 -08:00
Menghan Li df5d48b597 fix comments 2016-11-09 17:35:47 -08:00
Menghan Li 947e436ef4 return non temporary connection error if dialer returns non temprary errors 2016-11-09 17:25:46 -08:00
iamqizhao 2d5f9a12ea grpclb: Support DropRequest 2016-10-18 18:08:32 -07:00
iamqizhao 8930da46d0 grpclb: work with LoadBalanceToken 2016-10-13 16:54:33 -07:00
Menghan Li 1a79a7e346 Use creds.Clone in balancer.start 2016-09-27 17:36:19 -07:00
iamqizhao f02984b7c6 Basic support of grpclb 2016-09-19 15:11:57 -07:00
Zellyn Hunter a45515c6ca Log grpc.Address objects with %v, not %q
Structs should use %v; %q only makes sense for strings, chars, etc.
2016-09-12 15:09:10 -04:00
Menghan Li 74f7afb1f9 Move balancer initialization into a goroutine 2016-09-08 15:13:50 -07:00
Menghan Li a00cbfeab5 Overwrite authority if creds servername is specified 2016-09-06 11:23:30 -07:00
iamqizhao 61f62e0da6 Merge branch 'master' of https://github.com/grpc/grpc-go 2016-08-26 13:51:46 -07:00
iamqizhao 1e47e17230 Support client side interceptor 2016-08-26 13:50:38 -07:00
Tamir Duberstein dd5645bebf
Avoid goroutine leak in clientconn
Prior to this change, it was possible for `DialContext` to return
`(nil, err)` without properly closing the `ClientConn`, resulting in an
unavoidable leak of the `resetAddrConn` goroutine.
2016-08-25 17:02:43 -04:00
iamqizhao 6cc4c5785d refactor to simplify 2016-08-24 12:56:16 -07:00
iamqizhao 9dbd95fe38 make the test failure consistent 2016-08-24 11:02:18 -07:00
iamqizhao 7873a050d4 fix the test 2016-08-24 10:46:06 -07:00
iamqizhao 7eae19acb7 fix the issue 2016-08-23 19:23:04 -07:00
iamqizhao 60c350b0e9 Detach user-passed context (via DialContext(...)) with the context of ClientConn 2016-08-23 18:18:18 -07:00
Menghan Li f3ac95e6cd Check if cc.conns == nil before reading cc.conns 2016-08-18 16:43:58 -07:00
Qi Zhao 8a81ddda27 Merge pull request #831 from spencerkimball/spencerkimball/dial-with-context
Implement DialContext to afford caller option of managing cancelation
2016-08-17 11:18:27 -07:00
Menghan Li c72b08a774 Change errors returned by ac.wait() 2016-08-16 16:56:16 -07:00
Spencer Kimball b38541aeb0 Implement DialContext to afford caller option of managing cancelation 2016-08-16 16:57:59 -04:00
Menghan Li a9c8aebe90 Make non-failfast RPC get new transport instead of waiting 2016-08-12 13:03:09 -07:00