Commit Graph

3039 Commits

Author SHA1 Message Date
Can Guler 4dfb34b0d4 Mark PreparedMsg as EXPERIMENTAL (#2783) 2019-04-22 13:07:07 -07:00
Prannay Khosla 8260df7a61 grpc: implementation of PreparedMsg API
grpc: implementation of PreparedMsg API
2019-04-19 14:08:08 -07:00
Jean de Klerk d7af56a5e4
internal: tweak ClientTransport.GracefulClose documentation (#2772)
* internal: tweak ClientTransport.GracefulClose documentation

* address menghanl@ review comment
2019-04-16 16:54:26 -06:00
lyuxuan 5b263177f2
xds: make local proto generated files (#2750) 2019-04-16 13:35:16 -07:00
Can Guler 3fc743058b
transport: fix a race that could lead to memory leaks (#2765)
* When a RST_STREAM is received by the server transport, a cleanupStream
item is placed into controlbuf no matter what.

* Updates comments.

* Replaces getCleanupStream with inline struct initialization.
2019-04-15 14:20:22 -07:00
Jean de Klerk 9d8d97a245
docs: add note about retrying UNAVAILABLE (#2774) 2019-04-15 14:59:43 -06:00
Weiran Fang 776edd3ba1 interceptor: new APIs for chaining client interceptors. (#2696) 2019-04-15 11:13:34 -07:00
Easwar Swaminathan a9de79b9c3 Use 'go vet' and not 'go tool vet'. (#2768)
From [release notes](https://golang.org/doc/go1.12#vet):

The go vet command has been rewritten to serve as the
base for a range of different source code analysis tools. See
the golang.org/x/tools/go/analysis
package for details. A side-effect is that go tool vet
is no longer supported. External tools that use go tool vet must be
changed to use go vet. Using go vet instead of go tool vet should work
with all supported versions of Go.
2019-04-12 10:08:23 -07:00
Cesar Ghali e1d95c39ad
credentials/alts: Support UDS addresses in ALTS interop test server (#2763)
* Support UDS addresses in ALTS interop test server

* Fix flag description

* Fixed comment

* Fix comment
2019-04-11 16:49:01 -07:00
Can Guler 597a4aa027
grpc: remove excess new line from the log statement (#2766) 2019-04-11 14:31:07 -07:00
Menghan Li ee9f7f0c9a
interop: add test case for "pick_first" (#2762) 2019-04-11 14:22:58 -07:00
Menghan Li 3f98697f44
grpclb: handle service config and switch to pickfirst (#2719) 2019-04-11 11:25:27 -07:00
Doug Fawley 289eb50d88
internal: clean up README (#2764) 2019-04-11 10:11:17 -07:00
Doug Fawley e33051174b
Change version to 1.21.0-dev (#2759) 2019-04-09 14:51:00 -07:00
Kartik Yadav bc316a57d4 doc: fixing link in keepalive docs (#2755)
The link for enforcement policy in the keepalive docs is wrong.

fixes #2754
2019-04-09 11:34:45 -07:00
Kartik Yadav 981ad1f9d2 doc: fixing broken link in rpc-error doc (#2753)
The link for example in the documentation for RPC errors redirects to the wrong URL.

Fixes #2752
2019-04-09 11:33:11 -07:00
Menghan Li 4abb3622b0
tls: append h2 to tlsconfig.NextProtos (#2744) 2019-04-08 09:56:02 -07:00
Menghan Li b03f6fd5e3
internal: balancer/xds go1.12 only (#2748)
Until https://github.com/envoyproxy/go-control-plane/issues/168 is fixed
2019-04-05 13:51:39 -07:00
David Drysdale d37bd82db6 Fix DialContext when using a timeout (#2737)
Fixes #2736
2019-04-04 09:58:15 -07:00
lyuxuan ea5e6da287
service config: default service config (#2686) 2019-04-03 10:50:28 -07:00
Menghan Li 4745f6ae0d
grpclb: fallback after init (#2681)
regenerate picker when switching between fallback/non-fallback, because new SubConn state might not be updated for cached SubConns
2019-04-02 16:27:52 -07:00
lyuxuan 955eb8a3c8
channelz: cleanup channel registration if Dial fails (#2733) 2019-04-02 15:42:35 -07:00
Menghan Li d389f9fac6
balancer: add server loads from RPC trailers to DoneInfo (#2641) 2019-04-02 11:15:36 -07:00
Yangmin Zhu 924457101b syscall: remove logging in init(). (#2734)
The same as https://github.com/grpc/grpc-go/pull/2373.

Signed-off-by: Yangmin Zhu <ymzhu@google.com>
2019-04-02 10:36:15 -07:00
David Symonds f1437f7cc5 server: Improve error message when an unknown method is invoked. (#2723)
Previously only `unknown service <x>` was returned, which is misleading
when the service is known but the method is unknown.
2019-03-27 16:19:28 -07:00
David Symonds 9a2caafd93 client: restore remote address in traces (#2718)
The client-side traces were otherwise only showing `RPC: to <nil>`,
which is not helpful.

Also clean up construction of traceInfo and firstLine in a few places.
2019-03-27 09:52:40 -07:00
ilylia ed10349f45 stats: add WireLength to stats.InPayload (#2692) (#2711) 2019-03-25 15:42:16 -07:00
apolcyn 6d8271a06c credentials: add compute engine channel creds (#2708) 2019-03-25 14:47:12 -07:00
lyuxuan ef9bac2604
cleanup: remove unnecessary ignoreContentType field (#2715) 2019-03-22 13:56:18 -07:00
ktr 0e83fbebe8 encoding: check whether encoding.Name() is empty before calling strings.ToLower (#2707) 2019-03-22 13:34:43 -07:00
Doug Fawley aded19ed6f
update to use new fancy issue templates (#2712) 2019-03-22 10:50:40 -07:00
Doug Fawley 3910b873d3
bar: add ability to update resolver state atomically and pass directly to the balancer (#2693) 2019-03-22 10:48:55 -07:00
Nathan Herring bcfa7b30ac Downgrade grpclb package info logs to V(2). (#2710)
Fixes #2709.
2019-03-22 10:11:37 -07:00
yangdihangN 22c2121b7d benchmark: exit after printing help when using `-h` (#2701) 2019-03-21 12:04:35 -07:00
Menghan Li 66cd524910
transport: stop using http.CloseNotifier in handler server (#2697) 2019-03-20 13:32:46 -07:00
Jean de Klerk d021e89b3f
internal: fix Dial_OneBackoffPerRetryGroup (#2689)
* internal: fix Dial_OneBackoffPerRetryGroup

Instead of mutating global variables, switches getMinConnectDeadline to a
dial option.

Fixes #2687.

* rename getMinConnectTimeoutFunc to minConnectTimeout, ditto dial opt
2019-03-20 13:58:29 -06:00
Menghan Li 495133b619
internal: fix pickoptions in balancer_test (#2698)
The same test was changed by two PRs, merge didn't catch the conflict
2019-03-19 13:26:46 -07:00
Menghan Li ce45558927
balancer: make sure non-nil done returned by Pick is called (#2688)
Special case: when SubConn returned by Picker is not Ready, call done before
looping back to re-pick.
2019-03-19 10:47:09 -07:00
André Martins 272a4b69f1 transport: do not close channel that can lean to panic (#2695)
`Write` can be called concurrently, for which it calls the `do` function.
As `WriteStatus` can close the `ht.writes` in parallel as well the `Write`
will try to write into the `ht.writes` in the `do` function, this can
lead into a panic. As there is no real usability on closing this channel
we can simply leave it to the garbage collector so we can avoid panic
during an execution.

Signed-off-by: André Martins <aanm90@gmail.com>
2019-03-19 10:29:19 -07:00
Menghan Li fba6715d1c
addrConn: resetTransport loop cleanup (#2676)
Refactor retry loop after #2673
2019-03-19 10:28:26 -07:00
Menghan Li d7d977965e
grpclb: support pickfirst (#2652)
Use pickfirst as balancing policy for backends. It can only set at init time.
Does not support changing with service config now.
2019-03-19 10:17:31 -07:00
Doug Fawley 3c84def893
balancer: remove Header from PickOptions; it is also available through context (#2674) 2019-03-15 09:00:55 -07:00
Doug Fawley 2d5c4dfb95
server: send RST_STREAM after trailers if client has not half-closed (#2684)
Fixes #834
2019-03-14 15:15:50 -07:00
lyuxuan 2098091c81
dns: prefixing txt record lookup with "_grpc_config." (#2691) 2019-03-14 13:40:48 -07:00
Jean de Klerk 7c93bdf75a
internal: update x/lint dependency (#2690)
golang.org/x/lint recently got a go.mod d0100b6bd8
Let's be sure to minimally use this version, since its dependencies are
now codified.

This CL was generated by deleting the x/lint line in go.mod and running
`go mod tidy`.
2019-03-14 14:38:41 -06:00
Menghan Li 3958fc86cc
addrConn: resetTransport cleanup (#2673) 2019-03-14 13:14:19 -07:00
DO ANH TUAN ff28255d10 cleanup: fix typo in comment (#2657)
Although it is spelling mistakes, it might make an effect while reading.
2019-03-14 13:12:48 -07:00
Marten Klencke 9c3a959569 stats: add Trailer to client-side stats.End (#2639)
Currently, it is not possible to access trailers from within a
stats.Handler. The reason is that both stats.Handler and
ClientStream.Trailer require a lock on the ClientStream.

A workaround would be to start a separate goroutine that will call
ClientStream.Trailer asynchronously, but that requires careful
coordination and we can quite easily make the trailer metadata available
to the stats.Handler directly.

Use case: an interceptor that processes trailer metadata for each
streaming RPC after the stream has finished. Note that a
StreamClientInterceptor returns immediately, before the stream has
finished and before the trailer metadata is available.
2019-03-13 10:10:52 -07:00
lyuxuan d3f95b277a
xds: fix xds api change breakage (#2685) 2019-03-12 15:41:26 -07:00
lyuxuan 77ce7bc228
minor: typo fix (#2680) 2019-03-11 15:06:47 -07:00