2800 Commits

Author SHA1 Message Date
984bb2c619 internal: move DialOptions to a new file (#2193) 2018-07-12 18:01:30 -07:00
8c15646409 Benchmark: fix build tags (#2099) 2018-07-12 13:06:42 -07:00
11b582728a transport: move to internal to make room for new, public transport API (#2212)
This is a breaking change, but the transport package was never intended for use outside of grpc.  Any current users that we are aware of are incorrect or have a preferred alternative.
2018-07-11 11:22:45 -07:00
f57a529f33 balancer: add rpc method to PickOptions (#2204)
Provide additional context to Pickers that wish to make decisions based on the RPC method.

Relevant issue: https://github.com/grpc/grpc-go/issues/2103
2018-07-11 10:18:09 -07:00
e85134fd65 transport: double-check deadline when processing server cancelation (#2211) 2018-07-10 15:56:11 -07:00
c491b25057 createTransport: timeout under waitForHandshake case should not have transport transferred to ready stage (#2208) 2018-07-09 18:20:24 -07:00
50de898e66 deprecate stream, move documentation to client|server stream (#2198)
docs: deprecate stream, move documentation to client|server stream

Deprecate Stream, and move the methods and documention to ServerStream
and ClientStream. This is due to the fact that there are different
semantics for SendMsg, and it's quite confusing to document one method
for two things. Furthermore, Stream is not actually used in any way
other than to be inherited by ClientStream and ServerStream.

Relevant issue: #2159
2018-07-09 16:46:25 -07:00
264daa2be4 Set and respect HTTP/2 SETTINGS_MAX_HEADER_LIST_SIZE (#2084) 2018-07-09 11:27:58 -07:00
7f14997525 travis: skip race testing on 386 as it is not supported (#2207) 2018-07-09 11:27:27 -07:00
f3361fda2f internal: changes to travis to make it do less work (#2200)
This PR removes race testing from all travis runs except go1.10 except during nightlies.

|                 | Before* | After** | % Change |
| --------------- | ------- | ------- | -------- |
| Total runtime   | 65m     | 45m     | -31%     |
| Wall-clock time | 21m     | 11.5m   | -45%     |

*: (one random sample I found in our PRs)
**: (latest run on this PR)

Also includes some organization changes (making proper use of `before_install` and `install`) / cleanups in `.travis.yml` to make it easier to understand.  As a result, we now stop unintentionally running `vet` on a second build by accident (go1.10 with retry enabled).
2018-07-06 11:09:40 -07:00
40cd6b15e2 stream: in withRetry, block until Status is valid and check on io.EOF (#2199)
Also, return an error if SendMsg is called after CloseSend.
2018-07-03 14:07:07 -07:00
a3e99ebee0 grpclb: s/fmt.Errorf/errors.New/ (#2196)
`errors.New` is more preferable when there is nothing to format from go readability perspective.
2018-07-03 09:15:11 -07:00
d35d006431 Fix flaky test: TestClientStreamingError (#2192) 2018-07-02 10:08:26 -07:00
75703b312b Add documentation for loopy. (#2169) 2018-06-29 16:00:15 -07:00
cedd9131e8 Fix test: wait on server to signal successful accept. (#2183) 2018-06-28 11:19:52 -07:00
6a43dcc2ac Allow interop client to use call creds on any secure channel (#2185) 2018-06-28 10:41:13 -07:00
40a879c23a client: Implement gRFC A6: configurable client-side retry support (#2111) 2018-06-27 16:18:41 -07:00
f9bde863c2 documentation: clarify SendMsg documentation (#2171)
documentation: clarify SendMsg documentation

Relevant issue: #2159
2018-06-27 16:16:07 -07:00
2106e3b393 credentials: cleanup version-specific files (#2178) 2018-06-27 15:49:04 -07:00
5ea5eec711 Restrict channelz service test to x86 architecture (#2179) 2018-06-27 11:58:54 -07:00
3ec535a269 client, server: update dial/server buffer options to support a "disable" setting (#2147) 2018-06-27 11:16:33 -07:00
f1ab7acf3f credentials: add more appengine build tags (#2177) 2018-06-26 14:01:50 -07:00
b39aa9e037 Revert stickiness (#2175)
Stickiness will be reimplemented as part of a balancer/resolver redesigning/extending.
2018-06-26 10:02:54 -07:00
4f70de23e6 minor fix: remove redundant channelz files (#2176) 2018-06-25 18:23:40 -07:00
7268ca41d3 channelz: stage 4 - add security and socket option info with appengine build tags (#2149) 2018-06-25 10:32:20 -07:00
8e18752766 Update flow control test to have multiple concurrent streams. (#2170) 2018-06-22 16:02:44 -07:00
92d38b03b1 balancer/grpclb: update to latest lb proto (#2172) 2018-06-22 15:31:54 -07:00
0c16dc1c74 resolver/dns: error if target ends with a colon instead of assuming the default port (#2150)
Technically this is a behavior change, but any usage of "host:" or ":" should be considered invalid, since dialing a target with a trailing ":" attempts to dial port zero, which is never valid (and we always used to pass the target directly to `net.Dial`).

In https://github.com/grpc/grpc/pull/15618, the target format will be defined as: `host[:port]` -- not: `host[:[port]]`.  (This is potentially subject to change.)
2018-06-22 15:23:03 -07:00
ba63e52faf grpclb: remove old grpclb generated code (#2143) 2018-06-21 13:10:52 -07:00
cd69bb2707 testing: run test in simulated appengine environment (#2145) 2018-06-21 13:09:46 -07:00
b519e3d28d interop: set dns as default scheme in interop client (#2165)
this is to allow use of grpclb-in-DNS in the interop client
2018-06-20 12:19:01 -07:00
2ab07fd5cb Change version to 1.14.0-dev (#2163) 2018-06-19 17:32:50 -07:00
536e74e045 Don't log grpclb server ending connection as error (#2162)
Fixes https://github.com/grpc/grpc-go/issues/2161

I introduced `serverTerminatedConnectionErr `, because I wanted `callRemoteBalancer` to still returns error on a terminated connections. Its client, which is function `watchRemoteBalancer` can decide how to log this error.

When remote grpclb-server terminates the connection, don't log it as
error. Instead, log it as info.

It is natural for servers to terminate long lived grpc streaming
connections. Two sample reasons to do this are: load balancing and
deployment of a new version. Therefore client of grpclb-server shouldn't
recognise this situation as an error.
2018-06-19 14:54:40 -07:00
b28608a9db channelz: move APIs to internal except channelz service (#2157) 2018-06-18 17:59:08 -07:00
3b3ed4f509 transport: notify controlbuf that transport is gracefully closing to ensure proper cleanup (#2158) 2018-06-18 15:39:16 -07:00
fd9db51e64 Register incoming stream with loopy as soon as it gets created. (#2144) 2018-06-18 10:52:49 -07:00
7e6dc36bea Import grpclb package in the interop client (#2155)
This can allow the interop client to start running in scenarios in which the target is grpclb balanced.
2018-06-15 15:00:04 -07:00
d2f8e5a29d fix: do not percent encode character tilde (#2139) 2018-06-14 16:03:11 -07:00
692f13ae39 grpclb: backoff for RPC call if init handshake was unsucessful (#2077) 2018-06-14 14:31:41 -07:00
e218c924aa status: handle invalid utf-8 characters (#2109) (#2134)
fixes #2078

A status with invalid utf-8 characters could still be created, but invalid characters will be replaced with [Unicode replacement character](https://en.wikipedia.org/wiki/Specials_(Unicode_block)#Replacement_character) before being sent out. Those bytes will still be percent encoded.

All details added to this invalid status will be dropped.
2018-06-14 13:53:31 -07:00
e074afe740 Don't do extra work for keepalive when it's disabled. (#2148) 2018-06-14 13:36:28 -07:00
24f3cca1ff internal: move backoff to internal (#2141)
So other components such as grpclb can reuse the backoff implementation.
2018-06-13 16:07:37 -07:00
107f19369e Fix flaky tests in transport. (#2120)
* Fix flaky tests in transport.

* Post-review update
2018-06-12 17:52:44 -07:00
fb845db15c internal: Change Lock to RLock since no mutation is performed (#2142) 2018-06-12 12:50:43 -07:00
aa30531d2b grpclb: remove redundent testing struct (#2126)
Remove `rpcStatsForTest` and reuse `rpcStats` in tests.

Also fix races: https://travis-ci.org/grpc/grpc-go/jobs/388477002
2018-06-12 11:29:05 -07:00
dc86fffc26 Normalize gRPC LB 2018-06-11 17:52:20 -07:00
6d55ae1afe Fix test: Account for the fact that Dial can return successfully before Accept. (#2123) 2018-06-11 14:33:42 -07:00
10a4999db0 Add some debug info (#2136) 2018-06-11 10:38:41 -07:00
49c8c81756 Documentation: create doc describing grpc-go's log levels and their usages (#2033) 2018-06-11 09:31:41 -07:00
39a411827d internal: Update proto generated code (#2133) 2018-06-08 17:54:26 -07:00