Commit Graph

5399 Commits

Author SHA1 Message Date
Eric Anderson cb5ceaaaa0 interop-testing: Add integration test for RetriableStream 2020-07-09 16:46:00 -05:00
Eric Anderson 825c34f606 core: Delay client listener exception notification until normal close
This should avoid messages being leaked when a Listener throws an exception and
the executor is shut down immediately after the call completes. This is related
to #7105 but a different scenario and we aren't aware of any user having
observed the previous behavior.

Note also this does _not_ fix the similar case of reordering caused by
delayedCancelOnDeadlineExceeded().
2020-07-09 12:20:41 -05:00
ZHANG Dapeng cd70dcbfae
xds: fix lint 2020-07-08 17:21:16 -07:00
ZHANG Dapeng c756c2db56
xds: parse resources in ADS response to envoy-api v3 objects
Continuation of #7169 to parse all resources in ADS response to v3 objects. In this PR we still only send v2 requests to xDS server (No v3 bootstrap or env flag support).
2020-07-06 21:55:25 -07:00
sanjaypujare 2dc670163f
xds: convert and rename ReferenceCountingSslContextProviderMap to generic ReferenceCountingMap (#7181) 2020-07-06 18:08:25 -07:00
Eric Gribkoff 784e6b62f4
Upgrade to Gradle 6.5.1 2020-07-06 15:40:45 -07:00
ZHANG Dapeng eaa98f8d91
xds: parse Listener update as xDS v3 resource
This is part of xDS v3 support as per go/grpc-xds-v3-support

In this PR:
- still only send v2 requests to xDS server (No v3 bootstrap or env flag support)
- parse Listener update as v3 proto
- Refactor SDS's Listener watcher to use enovy v3 API
- still parse other resources as v2 proto.
2020-07-06 10:25:46 -07:00
Jihun Cho c6bd97245c
core: disable MigratingThreadDeframer (#7177) 2020-07-01 15:39:13 -07:00
Jihun Cho b8822e56af
rls: OobChannel doesn't use directpath by default (#7176) 2020-07-01 12:02:49 -07:00
Eric Anderson 21269bd188
stub: Clarify ServerCallStreamObserver cancellation
This avoids the "changes" description, which could be understood to mean that
the transition is important instead of the steady-state and thus a callback
might not be called (which is not the case).

Much of the language was copied from ServerCall.
2020-07-01 11:58:53 -07:00
Eric Anderson f5b976dd5c stub: Remove useless private method indirection
The method did nothing; just inline its contents. Brought up as part of #7173's
review.
2020-07-01 13:34:22 -05:00
sanjaypujare e2de5f1a65
xds: 1st part of implementation of CertificateProvider for agentless (#7170) 2020-07-01 09:35:05 -07:00
Eric Anderson 2dab629a0a api: Deprecate ManagedChannelBuilder.nameResolverFactory
It has been our intention for years to remove nameResolverFactory. We should
make it clear to users to avoid new code depending on it and so they can tell
us why they need it so we can provide replacements.
2020-06-30 14:34:35 -05:00
Eric Anderson debc3cdc79 api: Add documentation for Provider SPI discovery 2020-06-30 14:34:35 -05:00
cindyxue e42f96d02a
xds: import checked.proto from Googleapis' repository (#7160)
* Added CheckedExpr dependency
2020-06-30 12:03:21 -07:00
Jihun Cho b6a63e75e2
okhttp: not using MigratingThreadDeframer (#7167)
* okhttp: not using MigratingThreadDeframer

* fix comments/todo
2020-06-29 16:39:43 -07:00
sanjaypujare d782f4689f
xds: use env variable and a boolean to enable xds security code (#7165) 2020-06-26 18:22:09 -07:00
Eric Anderson 2e1cd05d54 github: Remove bug label from newly filed bugs
We've been using the bug label for "confirmed" bugs. Many issues filed as bugs
turn out not to be bugs, but we've not generally remembered to remove the bug
label. This has been causing trouble for tracking bug closure rate, as the data
is now mostly garbage. This change is to put us back into our old flow where
confirmed bugs have the label.
2020-06-26 10:41:34 -05:00
Eric Anderson 8400b17200 Bump Jetty ALPN to 2.0.10 for Java 8u252
Since Travis in on Java 8u252, we won't actually be testing Jetty ALPN at this
point. We're also not testing the Java 9 ALPN API on Java 8, since our current
version of Netty doesn't support it (but an upgrade is available that does).
2020-06-25 11:50:15 -05:00
d-reidenbach e9ea70935b
alts: add peer attribute access for the ALTS context (#7108)
* Added Peer Attribute getter for ALTS plumbing
2020-06-24 10:24:10 -07:00
Jihun Cho be79f55079
core: add PerfMark tasks/events for MigratingThreadDeframer (#7146) 2020-06-23 16:09:51 -07:00
Sanjay Pujare 158e98f982 Update README etc to reference 1.30.2 2020-06-23 16:03:09 -07:00
Sanjay Pujare 75664a5c83 doc: config.toml changed to config.yaml in grpc.io 2020-06-23 16:02:19 -07:00
Chengyuan Zhang 3b81701c77
Update README etc to reference 1.30.1 (#7154) 2020-06-23 15:24:06 -07:00
Jihun Cho df54162ffd
all: fix lint warnings and errors (#7150) 2020-06-23 10:10:42 -07:00
sanjaypujare 8fb6591850
xds: disable processing of UpstreamTlsContext until we are ready to test the feature (#7148) 2020-06-22 14:33:41 -07:00
sanjaypujare 69191ffc47
xds: refactor to use BaseTlsContext and remove *Holder classes (#7147) 2020-06-22 09:57:46 -07:00
Chengyuan Zhang 43cf77de83
xds: implement routing policy with all supported types of matcher (#7130)
Implement xds_routing LB policy with all kinds of matchers (path, header, runtime faction) supported.
2020-06-19 16:55:49 -07:00
sanjaypujare ae7a482d9a
xds: replace UpstreamTlsContext with internal definition (#7145) 2020-06-19 16:41:21 -07:00
Chengyuan Zhang 3facda0130
xds: avoid pushing duplicate (CDS) resource data to watchers (#7143)
De-duplicate cluster update information pushed to cluster watchers.

This only applies to CDS as the management server sends a response with all requested clusters while only some of. them have changed (or newly been subscribed).

This does not apply to EDS as the protocol is incremental and each EDS response will only contain ClusterLoadAssignments for clusters whose endpoints have changed.

This does not apply to LDS and RDS as at any time we will subscribe to a single resource and our TD implementation will not send extra (unrequested) resources. So each time, the received responses always contain updated resource information.
2020-06-19 12:22:22 -07:00
Jihun Cho 0f1631c7a3
rls: use system property to use direct path for oob channel (#7142) 2020-06-19 09:44:57 -07:00
Jihun Cho 8ab01c1fe6
rls: request factory prepends leading '/' (#7141) 2020-06-18 17:12:19 -07:00
Eric Anderson 613439c97e stub: Reorder blocking request()s for message throughput
This can provide a ~2x performance increase to Netty and 40% increase
for OkHttp. Netty async saw a ~3x gain from MigratingDeframer, so
blocking trails behind a bit. But OkHttp's async gains from
MigratingDeframer were also 40%, so this provides the same gain to
blocking.
2020-06-18 15:48:29 -05:00
Eric Anderson 295d927d8b core: Add migrating deframer
This provides a substantial ~3x performance increase to Netty async
streaming with small messages. It also increases OkHttp performance for
the same benchmark 40% and decreases unary latency by 3µs for Netty and
10µs for OkHttp.

We avoid calling listener after closure because the Executor used for
RPC callbacks may no longer be available. This issue was already
present in the ApplicationThreadDeframer, but full-stream compression is
not really deployed so was unnoticed.

DirectExecutor saw a 5-6µs latency increase via MigratingDeframer.
DirectExecutor usages should see no benefit from MigratingDeframer, so
disable it in that case.
2020-06-18 15:48:29 -05:00
sanjaypujare 57ae04007d
xds: use fallback PN if you get exception while retrieving SslContextProvider (#7137) 2020-06-18 10:08:39 -07:00
sanjaypujare e76e7c23a8
xds: replace Envoy's DownstreamTlsContext with internally defined DownstreamTlsContext (#7131) 2020-06-17 16:46:33 -07:00
ZHANG Dapeng 81138c51ad
xds: address filtering 2020-06-17 14:37:33 -07:00
Jihun Cho f5258dca17
api,core: add LoadBalancer.Helper#createResolvingOobChannelBuilder api (#7136) 2020-06-17 12:36:14 -07:00
Alex Ehrnschwender a543174830
examples: Adds client/server retrying example via service config 2020-06-16 12:18:42 -07:00
Anar Sultanov 1a42c8aea1
core: Catch uncaught exceptions in ServerImpl
A cleanup regarding #6162
2020-06-16 11:29:40 -07:00
Eric Gribkoff c3b62f2e6d
interop-testing: add xds test service to set healthy/unhealthy (#7127) 2020-06-15 22:52:50 -07:00
Chengyuan Zhang e16dfa03a5
android-interop-testing: remove SDK version configurations from manifest to avoid Android Studio warnings (#7128)
Android Studio gives warning: "The minSdk version should not be declared in the android manifest file". Typically minSdkVersion should be configured in build.gradle, it was set in manifest since internally we use Blaze. cl/316513856 is created to update the internal BUILD file that configures minSdkVersion.
2020-06-15 17:03:42 -07:00
cindyxue 40b815058f
xds: fix build.gradle for shadowing googleapis (#7121) 2020-06-12 17:10:13 -07:00
sanjaypujare 4077414e23
xds: update envoy and udpa to later versions to get agentless changes (#7122) 2020-06-12 09:44:40 -07:00
cindyxue 7f3a602255
xds: import rbac.proto from Envoy's repository (#7109) 2020-06-11 16:14:14 -07:00
Chengyuan Zhang 941ea1cc6f Remove grpc-rls from grpc-all dependencies 2020-06-11 19:06:20 +00:00
Eric Anderson c3ea8e7c91 stub: Document blocking exceptions and async extension types
invoke() needed to be re-defined for Javadoc to display the method.
2020-06-10 16:19:13 -05:00
Eric Anderson 37107d297b stub: Javadoc should not show internal classes 2020-06-10 16:18:26 -05:00
Chengyuan Zhang 9cf4d02ce3 Propagate original error causing XdsClient stream closure to the Channel 2020-06-10 19:24:56 +00:00
Chengyuan Zhang a3a7a5e399 Update README etc to reference 1.30.0 2020-06-08 22:40:57 +00:00