Commit Graph

4332 Commits

Author SHA1 Message Date
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
Gaurav S 6dee2b7e99
README.md: fixed broken documentation links in readme for quick-start and basics (#7078) 2020-06-01 10:25:29 -07:00
Chengyuan Zhang 40991af27c
xds: return an empty service config to Channel when the requested xDS resource does not exist (or removed) (#7077) 2020-06-01 10:24:48 -07:00
Chengyuan Zhang e5443068f6
xds: fix lint warnings (#7074) 2020-05-31 17:33:27 -07:00
Chengyuan Zhang 683eed671e
core: turn Channel into TF if resolver gives empty addresses with policy selection cannot handle it (#7073)
The original service config error handling design was unclear about the case when an updated resolution result with valid service config and empty address is returned to Channel, and the selected LB policy does not accept empty addresses. Existing implementation silently triggers resolver backoff after LB policy is changed, while leaving Channel being CONNECTING state, if there was an old service config resolved. This change converge the behaviors of whether the received service config is the first one or an update to a previous config, in both cases, Channel goes into TRANSIENT_FAILURE if the selected LB policy cannot handle empty addresses.
2020-05-29 18:23:37 -07:00
Eric Anderson 0201c5a9a7
stub: Have disableAutoRequest() on server-side
This splits server-side flow control from client-side, but tailors the API for
each case. Client-side continues having disableAutoRequestWithInitial(). While
client-side could have disableAutoRequest(), it seems like it will only rarely
be used and disableAutoRequestWithInitial(0) isn't that bad. So we leave it off
for now; we can always add it in the future.
2020-05-29 15:05:46 -07:00
ZHANG Dapeng 0cb91d97bf
xds: implement priority lb 2020-05-29 12:47:46 -07:00
sanjaypujare 62620ccd00
xds: replace generic with individual client and server SslContextProviders (#7059) 2020-05-27 12:31:54 -07:00
Jihun Cho 7d2d2ec035
core: fix PerfMark task mismatch (#7069) 2020-05-27 12:16:57 -07:00
Chengyuan Zhang 9c4fece661
xds: remove path matcher format requirements and default route requirement for routing enabled (#7063)
Remove requirement for formats of path matchers. Only require the last route to be the default route for the case when routing is disabled.
2020-05-27 10:20:31 -07:00
Jihun Cho ba09218030
doc: update protoc version requirement (#7064) 2020-05-27 09:11:47 -07:00