2489 Commits

Author SHA1 Message Date
32d9ffabba Documentation: Fix broken link in rpc-errors.md (#1935) 2018-03-21 10:14:55 -07:00
d5126f928f Correct Go 1.6 support policy (#1934) 2018-03-21 10:03:08 -07:00
5415d18359 Add documentation and example of adding details to errors (#1915) 2018-03-21 08:56:43 -07:00
57640c0e6f Allow storing alternate transport.ServerStream implementations in context (#1904) 2018-03-20 17:02:32 -07:00
031ee13cfe Fix Test: Update the deadline since small deadlines are prone to flakes on Travis. (#1932) 2018-03-20 16:46:10 -07:00
2249df6df9 gzip: Add ability to set compression level (#1891) 2018-03-20 11:57:00 -07:00
8124abf74e credentials/alts: Remove the enable_untrusted_alts flag (#1931) 2018-03-19 18:27:44 -07:00
b96718f8f0 metadata: Fix bug where AppendToOutgoingContext could modify another context's metadata (#1930) 2018-03-19 16:23:41 -07:00
738eb6b62f fix minor typos and remove grpc.Codec related code in TestInterceptorCanAccessCallOptions (#1929) 2018-03-19 14:19:42 -07:00
211a7b7ec0 credentials/alts: Update ALTS "New" APIs (#1921) 2018-03-19 09:07:54 -07:00
fa28bef939 client: export types implementing CallOptions for access by interceptors (#1902) 2018-03-16 15:57:34 -07:00
ec9275ba9a travis: add Go 1.10 and run vet there instead of 1.9 (#1913) 2018-03-16 08:47:14 -07:00
13975c0702 stream: split per-attempt data from clientStream (#1900)
This is pre-work to implementing retry support. Each retry attempt will have its own csAttempt. The fields left in clientStream are the same across all attempts.
2018-03-12 13:27:54 -07:00
2c2d834e8e stats: add BeginTime to stats.End (#1907) 2018-03-12 09:16:36 -07:00
3a9e1bab62 Reset ping strike counter right before sending out data. (#1905)
Eliminate race which causes a ping to be scheduled between pingStrike counter being reset and data being scheduled.
2018-03-12 09:09:31 -07:00
90dca43332 resolver: always fall back to default resolver when target does not follow URI scheme (#1889)
Previously, any target with "://" would be handled according to the URI scheme even though it did not contain a third slash.
2018-03-08 14:00:17 -08:00
9aba04495f server: Convert all non-status errors to codes.Unknown (#1881)
- convertCode utilized errors that were not allowed by the library per 9d0bc30edb/doc/statuscodes.md
- Relevant issue: #1672
2018-03-08 13:46:26 -08:00
efcc755fd5 credentials/alts: change ALTS protos to match the golden version (#1908) 2018-03-08 12:12:55 -08:00
0843fd0ee0 credentials/alts: fix infinite recursion bug [in custom error type] (#1906) 2018-03-07 13:50:30 -08:00
207e2760fd Fix test race: Atomically access minConnecTimout in testing environment. (#1897) 2018-03-07 10:36:17 -08:00
3ae2a613bc interop: Add use_alts flag to client and server binaries (#1896) 2018-03-07 10:21:48 -08:00
5190b068e2 ALTS: Simplify "New" APIs (#1895)
ALTS NewClientALTS and NewServerALTS APIs are in the grpc/credentials/alts package. Having the term ALTS in the API names is redundant. This PR removes it.
2018-03-07 09:14:47 -08:00
7c5299d71e Fix flaky test: TestCloseConnectionWhenServerPrefaceNotReceived (#1870)
* Atomically update minConnectTimeout in test.

* Refactor the flaky test.

* Post review update

* mend
2018-03-02 13:39:55 -08:00
f0a1202acd examples: Replace context.Background with context.WithTimeout (#1877) 2018-02-28 15:01:36 -08:00
a1de3b2bd6 alts: Change ALTS proto package name (#1886) 2018-02-26 18:05:53 -08:00
2e7e633fea Add ALTS code (#1865) 2018-02-26 17:02:59 -08:00
583a630396 Expunge error codes that shouldn't be returned from library (#1875)
- Per 9d0bc30edb/doc/statuscodes.md
- Relevant issue: #1672
2018-02-22 14:28:59 -08:00
2759199bf7 Small spelling fixes (unknow -> unknown) (#1868) 2018-02-22 13:10:19 -08:00
12da026194 clientconn: fix a typo in GetMethodConfig documentation (#1867) 2018-02-21 10:14:52 -08:00
dfa18343df Change version to 1.11.0-dev (#1863) 2018-02-15 15:27:11 -08:00
46fd263cc8 benchmarks: add flag to benchmain to use bufconn instead of network (#1837)
This will allow us to focus on grpc internals in profiling by excluding the cost of syscalls, which is a significant part of our time spent.
2018-02-15 14:52:38 -08:00
3926816d54 addrConn: Report underlying connection error in RPC error (#1855) 2018-02-14 14:13:10 -08:00
445b7284b1 Fix data race in TestServerGoAwayPendingRPC (#1862) 2018-02-13 16:48:27 -08:00
e014063a43 addrConn: keep retrying even on non-temporary errors (#1856) 2018-02-13 16:07:10 -08:00
484b3ebb4a transport: fix race causing flow control discrepancy when sending messages over server limit (#1859)
* In case of an error write transport quota back.

* Added test.
2018-02-13 11:17:19 -08:00
6c48c7f5c8 interop test: Expect io.EOF from stream.Send() (#1858) 2018-02-12 14:41:34 -08:00
08d626137c metadata: provide AppendToOutgoingContext interface (#1794)
- Provide AppendToOutgoingContext interface for imrproved performance
over manually creating md and joining with existing md
- Add benchmarks for old/new approaches

Fixes #1390
2018-02-12 11:10:37 -08:00
d50734d1d6 Add status.Convert convenience function (#1848)
This commit adds a function to convert between gRPC errors to
status.Status types without having to deal with an "ok" return value.
2018-02-08 13:15:38 -08:00
365770fcbd streams: Stop cleaning up after orphaned streams (#1854)
This change introduces some behavior changes that should not impact users that
are following the proper stream protocol. Specifically, one of the following
conditions must be satisfied:

1. The user calls Close on the ClientConn.
2. The user cancels the context provided to NewClientStream, or its deadline
    expires. (Note that it if the context is no longer needed before the deadline
    expires, it is still recommended to call cancel to prevent bloat.) It is always
    recommended to cancel contexts when they are no longer needed, and to
    never use the background context directly, so all users should always be
    doing this.
3. The user calls RecvMsg (or Recv in generated code) until a non-nil error is
    returned.
4. The user receives any error from Header or SendMsg (or Send in generated
    code) besides io.EOF.  If none of the above happen, this will leak a goroutine
    and a context, and grpc will not call the optionally-configured stats handler
    with a stats.End message.

Before this change, if a user created a stream and the server ended the stream,
the stats handler would be invoked with a stats.End containing the final status
of the stream. Subsequent calls to RecvMsg would then trigger the stats handler
with InPayloads, which may be unexpected by stats handlers.
2018-02-08 10:51:16 -08:00
7646b5360d transport: support stats.Handler in serverHandlerTransport (#1840) 2018-02-06 10:11:40 -08:00
104054ade9 Fix connection drain error message (#1844) 2018-02-05 16:08:15 -08:00
d09ec43545 Implement unary functionality using streams (#1835) 2018-02-05 12:54:13 -08:00
37346e3181 Revert "Add WithResolverUserOptions for custom resolver build options" (#1839)
This reverts commit ff1be3fcc57773d500921fad479d82ec171e2358.
2018-02-05 12:52:35 -08:00
424e3e9894 Stream: do not cancel ctx created with service config timeout (#1838) 2018-02-02 10:35:15 -08:00
f9628db66d Fix lint error and typo (#1843) 2018-02-01 11:38:14 -08:00
0bd008f5fa stats: Fix bug causing trailers-only responses to be reported as headers (#1817) 2018-01-25 13:54:11 -08:00
5769e02736 transport: remove unnecessary rstReceived (#1834) 2018-01-24 16:54:11 -08:00
0848a0978e transport: remove redundant check of stream state in Write (#1833) 2018-01-24 16:02:52 -08:00
c22018a9fb client: send RST_STREAM on client-side errors to prevent server from blocking (#1823) 2018-01-24 11:18:05 -08:00
82e9f61ddd Use keyed fields for struct initializers (#1829) 2018-01-24 10:45:49 -08:00