Commit Graph

3873 Commits

Author SHA1 Message Date
Eric Anderson 31a192dd40 protobuf: Exclude new javalite artifact name
In 48929c4 the protobuf lite artifact name changed from protobuf-lite to
protobuf-javalite. However, the exclusion in grpc-protobuf was missed in the
update, allowing protobuf lite to leak into the classpath. This restores the
previous behavior of only having one protobuf implementation on the classpath.
2019-11-19 09:13:08 -08:00
ZHANG Dapeng 2d454d478c
Revert "Revert "all: remove deprecated usePlaintext(boolean)""
This reverts commit 316a739e67.
2019-11-18 16:53:52 -08:00
Chengyuan Zhang 86bfefdaf2
api, core: make channel logger accessible through NameResolver.Args (#6430) 2019-11-18 16:33:39 -08:00
Kun Zhang d77419557a
netty: reduce default worker ELG thread number by half, to number of CPU cores (#6439)
This would cut the amount of per-thread direct buffer allocations by half, especially with light traffic. This will also cut the amount of file descriptors that's created per thread by half.

Internal benchmark results (median of 5 runs) doesn't show any significant change:
```
                          Before (STDEV)           After (STDEV)
grpc-java-java-multi-qps-integrity_only
Actual QPS               711,004 (6,246)         704,372 (6,873) 
QPS per Client CPU        23,921   (252)          24,188   (252)

grpc-java-java-multi-throughput-integrity_only
Actual QPS                35,326    (48)          35,294    (29) 
QPS per Client CPU         3,362    (17)           3,440    (13)

grpc-java-java-single-latency-integrity_only
Median latency (us)          127  (2.77)             129  (3.13)

grpc-java-java-single-throughput-integrity_only
Actual QPS                   581 (11.60)             590  (7.08)
QPS per Client CPU           490 (10.98)             498  (5.63)
```
2019-11-18 16:26:37 -08:00
Chengyuan Zhang 94eb93bd3a
api: enforce NameResolver.Args creation with builder (#6437) 2019-11-18 15:31:44 -08:00
ZHANG Dapeng bd1f819024
xds: add an Attributes for XdsClient reference 2019-11-18 15:20:38 -08:00
sanjaypujare b05ce13df2
xds: implementation of SdsClient to be used by SDS based SslContextProviders (#6400) 2019-11-18 10:36:42 -08:00
Yongwoo Noh add020fd19 core: fix typo in javadoc (#6431) 2019-11-15 11:19:28 -08:00
Chengyuan Zhang a49bd6efaa
xds: do not globally cache results of reading bootstrap file (#6420)
Do not cache content read from bootstrap file. Each call of readBootstrap() should just trigger reading file explicitly.
2019-11-14 17:04:34 -08:00
Kun Zhang 89cd64328d
netty: provide an option to lower netty allocator chunk size from 16MB to 2MB (#6407)
This would reduce the amount of direct buffer allocations, especially with light traffic. This should mitigate internal issue b/143075435

The change is currently optional and is only effective if system property "io.grpc.netty.useCustomAllocator" is set to "true" ignoring the case.

Internal benchmark results (median of 5 runs) doesn't show any significant change:
```
                          Before (STDEV)           After (STDEV)
grpc-java-java-multi-qps-integrity_only
Actual QPS               717,848 (7,445)         715,061 (2,122) 
QPS per Client CPU        23,768   (799)          23,842   (295)

grpc-java-java-multi-throughput-integrity_only
Actual QPS                35,631   (204)          35,298    (25) 
QPS per Client CPU         3,362    (56)           3,316    (18)

grpc-java-java-single-latency-integrity_only
Median latency (us)          130  (1.82)             125  (5.36)

grpc-java-java-single-throughput-integrity_only
Actual QPS                    593 (5.14)             587  (3.76)
QPS per Client CPU            502 (4.51)             494  (6.92)

```
2019-11-14 15:50:11 -08:00
ZHANG Dapeng 194d1512c0
xds: refactor xds policy to use XdsClient
This is a refactor of the existing xds policy to use XdsClient. It does neither create a copy of EDS policy as in #6371 nor re-implement an EDS policy. This should be similar to the idea of https://github.com/grpc/grpc/pull/20368 in C-core. 

Here it refactors `XdsComms2` to an implementation of `XdsClient`, which can be drop-in replaced by `XdsClientImp` when it's available.
2019-11-14 15:10:44 -08:00
Ran b80a07a1ca
core: delay attaching cancellation listener to context on server-side. (#6333) 2019-11-14 14:29:34 -08:00
sanjaypujare 80c78ddede
xds: add inline bytes support to CertificationValidationContext we use in SdsTrustManagerFactory (#6429) 2019-11-14 10:51:42 -08:00
Eric Anderson 48929c4d50
Upgrade to protobuf lite 3.10
This finally brings lite into version number sync with full proto.

Well-known protos for javalite are now pre-generated.
2019-11-14 10:26:20 -08:00
Chengyuan Zhang b38134eebd
xds: add APIs for initiating LRS in XdsClient (#6419) 2019-11-13 16:05:36 -08:00
Nayana-ibm 198ca2904a Adding s390x suport ot grpc-java 2019-11-13 14:43:59 -08:00
ZHANG Dapeng ce2b0174b2
xds: ignore endpoints with health_status != HEALTHY or UNKNOWN
Let child balancer (currently is Round Robin) handle the address list with only healthy addresses for its locality. If no healthy address available, let the child balancer handleNameResolutionError.
2019-11-12 13:40:25 -08:00
Steve Rao 1118793bfb netty: improve code readability (#6375) 2019-11-12 08:48:58 -08:00
ZHANG Dapeng 6d3fb53128
xds: not use Immutable collections in method signature 2019-11-07 15:18:59 -08:00
ZHANG Dapeng b38d3ee571
all: remove unnecessary SuppressWarnings 2019-11-06 15:20:04 -08:00
Kun Zhang 7218bbadb3
Update README etc to reference 1.25.0 2019-11-06 13:47:08 -08:00
Chengyuan Zhang 794517a7c3
xds: modify XdsClient interface and define data to be used by gRPC client from xDS responses (#6390)
This change completes the definition of XdsClient interface and fill the content of data types passing from XdsClient to each resource watcher.
2019-11-05 23:59:04 -08:00
Steve Rao a408d086bd netty: unified log prompt (#6386) 2019-11-05 19:47:50 -08:00
Steve Rao 1adf403bb1 netty: remove redundant variable references 2019-11-05 17:48:51 -08:00
Carl Mastrangelo 40bcab5d12 core: use seconds in deadline exceeded string (#6341) 2019-11-05 13:59:20 -08:00
Elliotte Rusty Harold 1ac1dd04b9 Update readme to specify 1.24.1 (#6344) 2019-11-05 13:58:55 -08:00
Eric Anderson 28149944ad netty: Deflake WriteBufferingAndExceptionHandlerTest
It appears the problem is that server.close() was missing sync(), so the
event loop was still processing the closure when the next test started.

This change is more aggressive than it needs to be, but should make it
less bug-prone.

Fixes #5574
2019-11-04 17:52:57 -08:00
sanjaypujare 6d51163933
xds: use ReferenceCountingSslContextProviderMap in TlsContextManager for clients and servers (#6385) 2019-11-04 17:32:48 -08:00
Eric Anderson 4dba65bad4 api: Rename blockingExecutor to offloadExecutor
The API review for #6279 came up with a more meaningful name that
better explains the intent. A setter for the old name was left in
ManagedChannelBuilder to ease migration to the new name by current
users.
2019-11-04 13:16:08 -08:00
Chengyuan Zhang 44c4fee95b
xds: build channel to xDS server with GoogleDefaultChannelBuilder if bootstrap file specifies so (#6362)
This change adds support to build channel to xDS server with Google Default Credentials based on bootstrap file's "channel_creds" field.
2019-11-03 16:12:20 -08:00
ZHANG Dapeng 97d4fa6614
xds: fix lint warning for throwing RuntimeException 2019-11-01 16:52:24 -07:00
Eric Anderson 8b242e1ca1
alts: Check Cipher before declaring Conscrypt working 2019-11-01 12:30:37 -07:00
ZHANG Dapeng b5e890bb72
alts: fix ComputeEngineChannelBuilder class signature 2019-11-01 12:04:52 -07:00
Chengyuan Zhang c931c87430
xds: refactor gRPC's data types for envoy proto messages (#6361)
This change cleans up the definitions of gRPC's data types for envoy's proto messages. These data types carry only information needed for gRPC's logic extracted from envoy's proto messages. Each data type has a static method to convert from its corresponding envoy's proto.
2019-11-01 10:08:20 -07:00
Jihun Cho 296440a4db interop-testing,benchmarks: publish tar, zip 2019-10-31 17:12:30 -07:00
Jihun Cho cd4b4b0fc5 core: remove unused dep, fix broken javadoc link 2019-10-31 10:43:42 -07:00
sanjaypujare b1eb48a910
xds: reference counting map for SslContextProvider needed for TlsContextManager (#6350) 2019-10-31 10:40:19 -07:00
Elliotte Rusty Harold 4048716795 all: Update to latest version of auth libraries (#6360)
all: Update to latest version of auth libraries
2019-10-30 13:25:49 -07:00
Chengyuan Zhang 39af8690a7
xds: refactor Bootstrapper implementation to be more use friendly (#6339)
Existing Bootstrapper is an eagerly loaded singleton and reading bootstrap file is done when first time referencing Boostrapper class. This is not use friendly for error propagation.
This change added an instance method Bootstrapper#readBootstrap() for reading the bootstrap file. Instead of making the Bootstrapper instance a singleton, make the bootstrap data (aka, BootstrapInfo) a singleton. Now reading the bootstrap file happens when the first Bootstrapper instance first time calling Bootstrapper#readBootstrap().
2019-10-30 12:14:00 -07:00
Tomo Suzuki 3134df176a all: upgrade to Mockito 2.28.2 (#6355) 2019-10-30 11:07:50 -07:00
Ran cba6472603
all: Upgrade OpenCensus version (#6359) 2019-10-30 10:47:43 -07:00
raozihao c22e04223b examples: add missing annotation 2019-10-30 09:59:36 -07:00
sanjaypujare d04529256a
xds: rename SecretProvider to SslContextProvider and make it non-generic (#6349) 2019-10-29 11:25:10 -07:00
raozihao da1231abd8 examples:remove unused import statement 2019-10-29 09:59:48 -07:00
Eric Gribkoff ec46b932d6 Re-add ericgribkoff to current maintainer list (#6308) 2019-10-28 23:30:24 -07:00
sanjaypujare d6b64bbf80
xds: add sds.proto to imported envoy proto files (#6346) 2019-10-28 15:51:27 -07:00
Ran 258a95d0c4
Revert "stub: ignore unary response msg if status is not OK (#6288)" (#6342)
This reverts commit fe46edac
2019-10-28 10:05:28 -07:00
sanjaypujare 7dbf12fe2a
api,stub : fix 2 typos (CallCredentials2 to CallCredentials and javadoc comment in AbstractStub) (#6343) 2019-10-28 10:03:49 -07:00
Chengyuan Zhang c66c26805f
xds: define XdsClient interface (#6303)
Defines an XdsClient interface, which is the blueprint for the class that encapsulates all of the logic for communicating with the xDS server. Also defines watcher interfaces for watching CDS/EDS updates.
2019-10-24 16:46:20 -07:00
sanjaypujare 48b41dce9e
xds: Client and server proto negotiators and handlers added to SdsProtocolNegotiators (#6319) 2019-10-24 15:27:53 -07:00