Commit Graph

3160 Commits

Author SHA1 Message Date
Yang Song 02ad99e1f5 core: Avoid compare default TagContext in thread local with empty. (#4613) 2018-07-03 15:28:05 -07:00
Eric Gribkoff b61968c61a
android-interop-testing: migrate to androidx test libs (#4611) 2018-07-03 08:52:23 -07:00
ZHANG Dapeng 6dad047126
core: add jndi timeout and dirContext.close 2018-07-02 17:36:05 -07:00
Eric Anderson e3ff1ade07
core: Add support for List<EAG> in Subchannels
This avoids the needs to flatten to EAGs for cases like PickFirst,
making the Attributes in EAGs able to be used in communication with
core. See #4302 for some discussion on the topic.
2018-07-02 14:00:05 -07:00
Eric Gribkoff 5b59c696fc
documentation: update version in android-channel-builder.md (#4605) 2018-06-30 09:46:35 -07:00
Eric Gribkoff 27a1c900a9
android: initialize listener with isConnected=false (#4606) 2018-06-30 09:24:47 -07:00
Eric Gribkoff 8c52e138ee
services: delete unused proto (#4604) 2018-06-29 15:03:08 -07:00
Carl Mastrangelo 39d2dd0eaa
core: make InternalHandlerRegistry a HandlerRegistry 2018-06-29 13:01:25 -07:00
Nick Hill b2dd6ae7f0 util: Improve RoundRobinLoadBalancer scalability with stickiness
- Rework stickiness picker logic to be non-blocking
- Stash `Subchannel` ref in an attribute rather than dedicated map
2018-06-29 09:49:23 -07:00
Marco Ferrer ac55604527 fixed typo in round robin factory name const
Fixes: #4598
2018-06-29 09:16:30 -07:00
Eric Anderson 3e67a5be75 core: Avoid unnecessary unchecked cast in DnsNameResolver 2018-06-28 15:47:06 -07:00
ZHANG Dapeng b244988572
netty,okhttp: make rpc followed by racy GOAWAY transparent-retry-able
A new RPC starts with the following steps:

1. Pick a READY transport
2. the READY transport calls `transport.newStream()`
3. the new stream calls `stream.start()`
4. `stream.start()` invokes or enqueus `writeHeaders()` (or for GET request, noop)

A racy GOAWAY could happen between 3 and 4, and by the retry spec, the RPC should be transparent-retry-able in this case. For Netty and OkHttp transport implementation, before step 4, (even if step 1, 2, and 3 excluding 4 are made atomic,) the http2-stream for the RPC is not created, so the current transparent retry logic does not apply and need fix.

Of course, if step 1, 2, and 3 including 4 are made atomic, and not with GET, there will be no such problem.
2018-06-28 12:52:17 -07:00
sullis b88cf81a78 all: add 'oraclejdk10' to travis build matrix 2018-06-27 15:55:42 -07:00
zpencer 5a8b790a3c
services: binlog method name should include leading / char (#4588)
The APIs of the other implementations all begin method names with `/`,
since the binlog is language agnostic we should be aligned.
2018-06-27 11:22:51 -07:00
Carl Mastrangelo a74bb350b7
core: always do SRV record lookup in DnsNameResolver
Instead of failing after a a missing A/AAAA record, this change
makes the resolver keep going and try out SRV records too.  This
is needed for use with ALTS, and is part of the gRPCLB spec.

This change also moved the JNDI code to a separate, reflectively
loaded file.  This makes it easy to exclude the file and not worry
about the missing class references on Android.  Additionally, if
javax.naming might be available on Android, this allows it to be
loaded.  A key side effect of this is that DnsNameResolver is
smaller, and more cleanly tested.
2018-06-26 16:15:52 -07:00
Carl Mastrangelo 7edb41a4ef
stub: clarify StreamObservers interaction 2018-06-26 15:43:13 -07:00
Carl Mastrangelo 81da3eb95b
core: make Auto config load balancer not depend on service config
Also, add some tests
2018-06-26 13:36:02 -07:00
Juanli Shen 7e68a0b524 grpclb: sync LB proto with grpc-proto 2018-06-22 17:14:06 -07:00
Doug Lawrie ffd0f9feca inprocess: add a toString for InProcessSocketAddress
The motivation here is in some cases we log the remote-addr that is set in the gRPC call attributes, and have to special case this type to support inprocess servers.
2018-06-22 10:32:42 -07:00
ZHANG Dapeng e59aac7178
Update README to reference 1.13.1 (#4580) 2018-06-21 09:28:30 -07:00
Shohei Kamimori a20f4812d6 alts: de-flake AltsHandshakerStubTest
Intended to resolve #4291.
Previously AltsHandshakerStubTest.closeEarlyTest is flaky because it is async.
De-flake the test by removing executors.
2018-06-20 18:03:45 -07:00
Eric Anderson 3a58a9999e Fix signatures in release process
We must not include signatures for maven-metadata.xml*, as the file is
a server-maintained index. Avoiding signing the .md5 and .sha1 avoids
signing unnecessary files (which double-excludes some
maven-metadata.xml* files).

We also swap to using ASCII armored output instead of the binary output,
as that's what is appropriate for "asc" files.

Fixes #4574
2018-06-20 11:29:32 -07:00
Maxime Guerreiro 4df4d06f78 examples: Fix comment in HelloWorldClient
This client talks to HelloWorld server and not to the route guide one.
2018-06-20 08:58:53 -07:00
Eric Gribkoff 2b703342ae
android-interop-testing: improvements for instrumentation tests (#4570) 2018-06-20 08:07:31 -07:00
Carl Mastrangelo 13ca42aff6
protobuf{,lite,nano}: make more classes final
- Split anonymous classes in named and final classes
- Fix some Javadocs and annotate when things were added.
2018-06-19 15:30:12 -07:00
DmPanov 49d7e5fd0b examples: replace client certificate in trust store in 'Hello world example with TLS with mutual auth'
... with proper CA certificate to fix SSLV3_ALERT_HANDSHAKE_FAILURE in two host with different IPs setup, switch to required client auth to fail on incorrect configuration
2018-06-13 12:30:57 -07:00
Eric Gribkoff 9f02381938
android-interop-testing,interop-testing: use AbstractInteropTest on Android (#4541) 2018-06-13 10:06:43 -07:00
Carl Mastrangelo 1c5007b866
grpclb: sync with grpc-proto 2018-06-12 16:26:22 -07:00
Kun Zhang 15786520f9
grpclb: use exponential back-off for retries of balancer RPCs (#4525) 2018-06-12 14:04:45 -07:00
Grant Oakley defb955f3a core: add clarification to ClientCall javadoc
* Improve ClientCall documentation. Clarify that some methods of ClientCall may be invoked from any thread. Adds @throws clauses to request().
2018-06-12 10:23:01 -07:00
Carl Mastrangelo 3934ad9f4b
compiler: add stubs for generating nano code as lite 2018-06-12 10:03:28 -07:00
ZHANG Dapeng 5ce10f0146
all: add gradle format checker
This PR adds an automatic gradle format checker and reformats all the *.gradle files. After this, new changes to *.gradle files will fail to build if not in good format, just like checkStyle failure.
2018-06-11 18:35:18 -07:00
ZHANG Dapeng 9d26c5c405
all: fix lint warnings 2018-06-11 12:57:27 -07:00
Eric Gribkoff 65211310e9
documentation: add android-channel-builder.md (#4107) 2018-06-11 09:09:51 -07:00
Kun Zhang e283f70ad9
auth: Require PRIVACY_AND_INTEGRITY for GoogleCredentials (#4524)
This keeps them more secure. Other types of creds are left as-is, snce
we don't quite know if it makes sense to have a similar restriction. (It
likely does make sense, but this is a more precise change for our
needs.)

This is a rollforward of 8e9d4cbe5c
which was rolled back in de95152696

Additional changes that were not in the original commit:
 1. Treat null security level as NONE
 2. When GoogleCredentials can't be loaded, log it at FINE
2018-06-07 20:45:39 -07:00
zpencer 2a971e3b05
services: binlog deadline and methodName at start of rpc (#4550)
These are first class concepts and should be pulled to top level of
proto.
2018-06-07 19:16:34 -07:00
Kun Zhang 11e2d6d7f1
cronet: fill in transport attributes as required by CallCredentials (#4532) 2018-06-07 15:28:23 -07:00
zpencer c05d0f40ea
services: add sequence id within call for entries (#4549)
This is a new field added to the binlog proto so that we can detect when
the storage impl reorders or drops recorded entries.
2018-06-07 12:19:36 -07:00
Eric Gribkoff bc9d3ab7ca
cronet: include google() repository (#4548) 2018-06-07 11:25:42 -07:00
zpencer 181aac425f
services: sync binlog proto (#4542)
https://github.com/grpc/grpc-proto/pull/20
2018-06-07 10:45:55 -07:00
Eric Gribkoff 3e4c692075
android: forward OkHttpChannelBuilder-specific methods to delegate (#4534) 2018-06-07 08:39:42 -07:00
Carl Mastrangelo 8f51c27319
core: fix lint 2018-06-06 17:14:58 -07:00
Eric Gribkoff 9a502ecf0b
buildscripts: correct Android apk size and dex diff output (#4522) 2018-06-05 12:50:39 -07:00
Eric Gribkoff d227852b30
okhttp: deprecate OkHttpChannelBuilder#negotiationType (#4533) 2018-06-05 12:27:31 -07:00
Carl Mastrangelo 4c4fda3e5d
stub: remove static Method descriptors and stabilize method accessors 2018-06-05 11:19:28 -07:00
Eric Gribkoff 8fd762fb8e
cronet: use Cronet from Google's Maven repository (#4531) 2018-06-04 20:16:02 -07:00
apolcyn 6dbe3921ed core: fix SRV record parsing
* only unquote TXT data, so as to not remove spaces from SRV data
2018-06-04 18:59:15 -07:00
ZHANG Dapeng c796901aca
core: channel tracing to log events for channel state change 2018-06-04 17:38:26 -07:00
ZHANG Dapeng 8a3e623be7
Start 1.14.0 development cycle 2018-06-04 16:08:31 -07:00
Bogdan Drutu 2a127ce3e7 core: update opencensus to 0.12.3. (#4530)
Changed calls to deprecated methods to the newly added methods.
2018-06-04 15:27:27 -07:00