Commit Graph

4292 Commits

Author SHA1 Message Date
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
Chengyuan Zhang c777e08563
xds: retain locality stats counter when the child balancer for that locality is deactivated (#7096)
Create the counter for recording per locality stats upon creating the child balancer for that locality. When the locality is deactivated (due to EDS response update removes it), the counter is not deleted from the LoadStatsStore. Delete it when the child balancer for that locality is shut down. In this way, the lifecycle of the load stats counter for a certain locality stays same with the child balancer for that locality. This is exactly what will happen after we refactor LocalityStore to PriorityLoadBalancer and LrsLoadBalancer (i.e., when some priority is deactivated, its subtree is not deleted immediately, so the LrsLoadBalancer instances for localities still hold the load stats counters).
2020-06-05 18:02:15 -07:00
ZHANG Dapeng 959769aad8
core: always propagate RetriableStream.Sublistener.onReady()
This fixes #6817 for the normal retry case, although it makes the hedging issue #7089 more broken, and there is still space of optimization for normal retry.
2020-06-04 13:35:51 -07:00
sanjaypujare 2740901673
xds: add xDS v3 protos in preparation for agentless security (#7091) 2020-06-04 10:03:33 -07:00
Chengyuan Zhang c551fe3807
xds: implement xds_routing policy config generation and parsing (#7055)
Implemented service config generation in the xDS resolver with xds_routing that supports all matchers. Reimplemented xds_routing config parsing with all matchers. Existing implementation for xds_routing LB policy is mostly deleted for now, as we would need to reimplement the route matching logic with matchers added.
2020-06-04 02:03:49 -07:00
Elliotte Rusty Harold 417d7700dd
deps: Update guava to 29.0 (#7079) 2020-06-03 13:48:02 -07:00
Chengyuan Zhang 26cf60d8c7
xds: no longer use existing Subchannels after xDS resource becomes unavailable (#7081)
Put Channel into TRANSIENT_FAILURE when CDS/EDS resource that is currently being watched becomes unavailable. CDS/EDS LB policies should shut down their downstream policy instances (stop using current Subchannels for new RPCs) and propagate TRANSIENT_FAILURE status to their parent policies (and may eventually to the Channel).
2020-06-02 18:51:39 -07:00
Eric Anderson 146857952c api: Remove ref to deleted InternalNotifyOnServerBuild 2020-06-02 07:28:44 -07:00