Commit Graph

3245 Commits

Author SHA1 Message Date
ZHANG Dapeng 49475c6759
alts: Fix ambiguous assertThat() in TsiFrameHandlerTest 2019-01-02 11:41:00 -08:00
ZHANG Dapeng 26a7fe1396
doc: Update RELEASE.md VERSION_FILES 2019-01-02 10:51:20 -08:00
Jihun Cho 40398479ae
examples: update url of project (#5198) 2019-01-02 09:56:22 -08:00
Jihun Cho 6bf0936f8e
okhttp: move async mechanism from FrameWriter to sink (AsyncSink) (#4916)
Optimize OkHttp transport's memory use by getting rid of queuing writes in
AsyncFrameWriter. If any write is pending due to connection issue or by flow
control, AsyncFrameWriter can use at least 8K per each task (task includes
buffer) even if the actual payload is very small. To merge pending writes,
Async mechanism is moved from AsyncFrameWriter to AsyncSink (AsyncSink 
is used by okio's FrameWriter). AsyncSink is still relying on okio's buffer to
decide merging writes or not.

Resolves #4860
2018-12-28 17:20:03 -08:00
Carl Mastrangelo a4859c1e93
core: revert stream tracer order change to fix internal test 2018-12-20 18:45:38 -08:00
Eric Anderson 186409f868
buildscripts: Add script to sync .protos from grpc-proto
Currently only protos in alts, grpclb, and services are synced. Once
some java_package options are "upstreamed", benchmarks and
interop-testing could also be synced.
2018-12-20 16:47:16 -07:00
Jihun Cho 9eeceab597
alts: TsiFrameHandler doesn't throw exception when flush after closed (#5180)
also, error / log messages will contain state of FrameHandler
2018-12-20 10:12:37 -08:00
David Hoover 87cf40437c core: Mark CallOptions' deadline/executor as @Nullable
They are, but weren't consistently marked like the other members
2018-12-19 15:47:54 -08:00
Brendan Linn d736dc31c4 repositories.bzl: correct re2j sha.
the fundamental issue is that the sha-1 sums for the github and maven
jars for re2j are different. (see
https://github.com/google/re2j/issues/83 for discussion.) the sha used
at grpc-java head corresponds to the github jar, but the target itself
refers to the maven jar.

the reason no one has noticed is that @com_google_re2j//jar is not
actually used as a dependency in any bazel target in this repo. this
will change once the services/ directory becomes a bazel package. (the
source files in services/ do depend on re2j.)
2018-12-19 13:01:33 -08:00
Eric Anderson f1f3dbcbd6 alts: Fix SHARED_HANDSHAKER_CHANNEL after first close
Since the Resource shared the executor service between invocations, but
didn't null it out on shutdown, it could bring up a new channel with a
terminated event loop. The channel would then proceed to panic on usage.

I noticed this problem while looking into what was necessary for #4755.
2018-12-19 09:59:01 -07:00
sanjaypujare 847eae8d37
Example: Google Auth example with PubSub API ListTopics for a project ID (#5162)
* Working Google Auth example with PubSub API ListTopics for a project ID
Added another MD file for GOOGLE_AUTH_EXAMPLE
2018-12-18 16:47:42 -08:00
Eric Anderson 64000135cb bazel: ignore examples/ from root WORKSPACE
"bazel build ..." from the root will no longer build examples/. But
"cd examples; bazel build ..." still does.
2018-12-18 14:54:57 -07:00
ZHANG Dapeng 52c0789eb7
doc: fix bazel-bin pointer in example-tls README 2018-12-18 12:19:59 -08:00
Carl Mastrangelo 6779a5aa75
core,netty: refactor server builder
* makes Census tracing factories at the end of the user added ones
* makes more vars in AbstractServerImplBuilder package private
* annotates methods in ASIB to be clearer
* simplifies several of the setters to be single line
* Makes the generics on the Tracer factories proper
2018-12-17 17:22:33 -08:00
Carl Mastrangelo 1bf8476cd7
core: standardize logid format and add details for channelz 2018-12-17 17:22:11 -08:00
ZHANG Dapeng 94fefdda12
xds: import xds service protos
All files other than the following are generated by `import.sh`.
```
settings.gradle
xds/build.gradle
xds/third_party/envoy/import.sh
xds/third_party/protoc-gen-validate/import.sh
```
2018-12-17 10:50:54 -08:00
Eric Anderson 330f45a2cd interop-testing: Disable flaky ProxyTest.smallLatency
Fixing the flakiness is tracked in #2951. The current flakiness is ~3/8
fail.
2018-12-14 16:01:39 -08:00
sanjaypujare ac52e27b2a
Examples: Add a JWT authentication example (#5154) 2018-12-13 12:26:39 -08:00
Thomas Broyer 2ffc46d6fa Update net.ltgt.errorprone to 0.6 and enable Error Prone on JDK 10+ 2018-12-13 10:17:06 -08:00
Eric Anderson 219c486d4e interop-testing: Sample to reduce ProxyTest flakiness
This also reduces the time of the bandwidth tests from ~6 seconds to ~2,
each (they have about 1s of overhead).

Fixes #2951. The flake is very frequent in #4980.
2018-12-13 10:02:18 -08:00
ZHANG Dapeng b6da00d4f2
examples: alts transitively depends on netty-shaded etc 2018-12-12 12:34:33 -08:00
ZHANG Dapeng 0cf91e333b
core: hide RetriableStream type from ClientTransportProvider 2018-12-12 10:04:39 -08:00
Carl Mastrangelo 23dadaa85d
alts: add debugging statements for ALTS 2018-12-11 16:44:51 -08:00
ZHANG Dapeng 94e7339748
all: remove copies of gradle wrapper 2018-12-11 16:23:28 -08:00
ZHANG Dapeng dd1a7e19b9
buildscripts: remove jenkins-pre.bat 2018-12-11 10:36:58 -08:00
Carl Mastrangelo cf083239e7
all: update proto-google-common-proto to 1.12.0
See https://github.com/census-instrumentation/opencensus-java/issues/1635
2018-12-10 11:31:21 -08:00
ZHANG Dapeng 07f96f8000
core: fix a typo in javadoc 2018-12-10 10:53:08 -08:00
Jihun Cho 8ccc9899c9 Update README to reference 1.17.1 2018-12-10 10:28:36 -08:00
Kun Zhang c0175e4cbe
core: add LoadBalancer.canHandleEmptyAddressListFromNameResolution() (#5148)
Currently ManagedChannelImpl will interpret empty address list from
NameResolver as an error, and LoadBalancer will NEVER receive an empty
list from handleResolvedAddressGroups().  There is a case in the
request-routing design where a LoadBalancer only receives service
config with which it constructs children NameResolver/LoadBalancer
pairs, thus no address is expected at this level.

canHandleEmptyAddressListFromNameResolution() is a signal to Channel
(and to the parent LoadBalancer in case of hierachical LoadBalancers)
about whether it accepts empty address lists.  The default is false,
which is the current behavior.

The logic is currently duplicated in ManagedChannelImpl and
AutoConfiguredLoadBalancer.  The one in ManagedChannelImpl will be
removed once we delete ManagedChannelBuilder.loadBalancerFactory() as
AutoConfiguredLoadBalancer will always be the top-level LoadBalancer
by then.
2018-12-10 10:18:19 -08:00
Grant Oakley 01f79bb909 core: fix bug in CallOptions#withOption()
Previously, overwriting an existing Key would cause the original CallOptions instance to also be mutated.

See #5142

Also adds a regression test for this issue.
2018-12-07 16:32:02 -08:00
Eric Anderson 03300cb2de alts: Eagerly add interceptor in GoogleDefaultChannelBuilder
This allows calling build() multiple times as well as prevents other
interceptors from being able to detect that we've implemented
CallCredential attachment via an interceptor. (Previously they could
have set their own CallCredentials which would have overridden the
default creds.)
2018-12-07 16:13:18 -08:00
Carl Mastrangelo dbc9a89e26
services: add method to make health checker permanently go unhealthy 2018-12-07 14:39:37 -08:00
Eric Anderson 1299986999 core: Fix reversed arguments to assertEquals 2018-12-07 11:37:21 -08:00
ZHANG Dapeng 1b870d79d5
doc: Restructure examples/README.md
Try to make examples/README.md better organized.
2018-12-07 10:48:35 -08:00
Kun Zhang 1fbf7bb3a7
core: add ManagedChannelBuilder.defaultLoadBalancingPolicy() (#5135)
ManagedChannelBuilder.loadBalancingFactory() overrides the proper
policy selection logic implemented in AutoConfiguredLoadBalancer, thus
has problems in cases where NameResolver returns balancer addresses,
because custom LoadBalancers normally don't differentiate between
normal server addresses with balancer addresses.  The policy selection
logic will filter out balancer addresses.
2018-12-07 08:30:58 -08:00
Kun Zhang 8706a37a3b
doc: fix a javadoc warning (#5136) 2018-12-06 21:51:34 -08:00
Eric Anderson de9bc0bcf1 Specify Locale to toLowerCase and lint fixes 2018-12-06 17:15:48 -08:00
Kun Zhang 4631c0c7e8
core: fix a bug that Channel won't work if NameResolver returns a ServiceConfig without LB config. (#5134) 2018-12-06 16:51:45 -08:00
Kun Zhang 0cc0f2d170
core: do not fail RPCs if balancer address exists but grpclb is unavailable (#5129)
When service owner turns on grpclb through service config, it
shouldn't break existing clients that don't have grpclb in their
classpath.

Resolves #4602
2018-12-06 13:40:30 -08:00
ZHANG Dapeng 8ff92a4a7d
doc: emphasize building examples on master branch should follow COMPILING
Resolves #5115
2018-12-06 13:17:59 -08:00
ZHANG Dapeng 3202fcc7d9
examples: move TLS example to a separate project 2018-12-06 12:03:25 -08:00
Carl Mastrangelo 2d654496ee
context: make Deadline toString() more readable 2018-12-05 17:44:44 -08:00
Kun Zhang 28587b449b
grpclb: refresh name resolution when balancer stream closed. (#5127) 2018-12-05 16:35:42 -08:00
Carl Mastrangelo edede01da6
netty: bump to 4.1.32 and tcnative 2.0.20 2018-12-05 14:41:30 -08:00
Kun Zhang 3a86a176fe
core: add LoadBalancer.Helper.refreshNameResolution() (#5121) 2018-12-05 13:11:45 -08:00
Ze'ev Klapow 9111602d7c StreamObservers: make sure onComplete only gets called once from onReadyHandler
Fixes #4558
2018-12-05 12:59:09 -08:00
ZHANG Dapeng b8fac8a75e
doc: s/GrpcServerRule/GrpcCleanupRule in README 2018-12-05 12:43:02 -08:00
Jihun Cho c0d4e022f4 Update README to reference 1.17.0 2018-12-05 10:03:43 -08:00
ST-DDT 0dda74dda4 core: Fix deprecation warning in RoundRobinLoadBalancerFactory 2018-12-05 10:03:02 -08:00
ZHANG Dapeng 0c95dad0da
core: fix bazel NameResolverProvider not found 2018-12-05 09:45:41 -08:00