2713 Commits

Author SHA1 Message Date
8e36593ad9 go generate: update proto files (#2236) 2018-07-25 11:40:12 -07:00
980d9e0348 ClientConn: add Target() returning target string (#2233) 2018-07-23 16:19:11 -07:00
445634bdcc client: define dialOptions as interfaces instead of functions (#2230) 2018-07-19 17:33:42 -07:00
4f4261e767 interop: loosen restrictions on creds per test in interop client (#2231) 2018-07-19 10:53:08 -07:00
5562178a52 Convert io.ErrUnexpectedEOF to a codes.Internal-marked status in toRPCerr. (#2228)
This is consistent with how io.ErrUnexpectedEOF is handled in a bunch of
other places (e.g. stream.go, server.go), and signals to
application-level code that the error is retryable.
2018-07-18 14:09:07 -07:00
b534d2d20e internal/transport: remove unnecessary ServerTransport method (#2224) 2018-07-17 08:26:04 -07:00
a7d6032db4 internal/transport_test.go: prevent leaking context (#2227) 2018-07-16 18:48:37 -07:00
7273294e1a internal/syscall: add package description (#2226) 2018-07-16 16:32:09 -07:00
d8ecae53ed transport.go: minor typo fix (#2225) 2018-07-16 15:44:40 -07:00
c8fcd323ef resolver: document that SetDefaultScheme should be called at init time (#2217)
fixes #2216
2018-07-16 11:19:04 -07:00
1dab6d184d addrconn: remove unused wait() method (#2220) 2018-07-16 08:21:34 -07:00
ce6ee6b031 dns resolver: exponential retry when getting empty address list (#2201) 2018-07-13 13:05:31 -07:00
e193757038 internal/transport: remove some unused fields from structs (#2213)
- Flush and Authority are never read by the transport.
- Authority is used indirectly; move it to dialOptions.
- Delay is only set to false.
2018-07-13 09:56:47 -07:00
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