Commit Graph

2468 Commits

Author SHA1 Message Date
zpencer a3c44fa7ca
core,netty,okhttp: add TransportTracer param to ClientStream and Http2ClientStreamTransportState (#3668)
This diff does not actually change any behaviors yet, that will come
in the next diff along with unit tests for those new behaviors. This
diff's goal is only to change the method signatures so future diffs
are cleaner.
2017-11-07 16:08:55 -08:00
zpencer 2d212646bc
gae-interop-testing: use ManagedChannelBuilder, abort if devserver (#3680)
Turns out the ManagedChannelBuilder was misbehaving because the
devserver launcher ignores the app's jdk7 configuration and uses
whatever jdk is in JAVA_HOME. This is the reason
GrpcUtil.IS_RESTRICTED_APPENGINE was wrong.

Changing JAVA_HOME to point to jdk7 reveals that devservers lack
conscrypt. Adding an explicit check to make sure the jdk7 test is not
running in a dev server.
2017-11-07 15:01:03 -08:00
zpencer 6827f53785
gae-interop-testing: concrete channel builders (#3678)
Do not rely on ManagedChannelBuilder to select the correct concrete
type; directly instantiate the required type.
2017-11-07 12:59:13 -08:00
zpencer 2999d24bc7
gae-interop-testing: disable serverInProcess tests (#3679)
Tests that require serverInProcess() will not work because the server
is remote.
2017-11-07 12:58:49 -08:00
sebright ef2ec94911 core: use new OpenCensus stats/tagging API. (#3647)
This commit updates gRPC core to use io.opencensus:opencensus-api and
io.opencensus:opencensus-contrib-grpc-metrics instead of
com.google.instrumentation:instrumentation-api for stats and tagging. The gRPC
Monitoring Service continues to use instrumentation-api.

The main changes affecting gRPC:

- The StatsContextFactory is replaced by three objects, StatsRecorder, Tagger,
  and TagContextBinarySerializer.

- The StatsRecorder, Tagger, and TagContextBinarySerializer are never null,
  but the objects are no-ops when the OpenCensus implementation is not
  available.

This commit includes changes written by @songy23 and @sebright.
2017-11-07 12:25:03 -08:00
zpencer a7300150de
core: no ProxyDetector for GAE+JDK7 (#3677) 2017-11-07 09:51:22 -08:00
Carl Mastrangelo ae37d21587
all: bump to 1.9.0-SNAPSHOT 2017-11-06 17:39:26 -08:00
Eric Anderson 3936557e72 java_grpc_library: fix remote protos that are 'src's
'includes' were already handled, but not 'src's. This allows you to
depend on things like :any_proto from the protobuf repo.

Fixes #3650
2017-11-06 17:29:12 -08:00
Eric Anderson f792efe82f bazel: Update opencensus to 0.8
This fixes the Bazel build after d87ef740
2017-11-06 17:25:09 -08:00
zpencer a2e9a7f6dd
core,ntety,okhttp: Add getTransportStats method to ClientTransport (#3662)
This merely adds the method but does not do anything yet.
2017-11-06 13:24:20 -08:00
zpencer 9fac15d4f8
core,netty,okhttp: move transport tracer outbound counters to transport thread (#3661)
Counters are bumped when a message is completely written. If a
part of a message is still buffered and not yet flushed, we will
not increment the stats.
2017-11-06 12:46:17 -08:00
Carl Mastrangelo 1bc7d76d3a
interop-testing: make max size tests more deterministic
This change removes some of the non deterministic size outputs for
proto.  Instead of serializing the message and measuring the size,
measure before serialization.  As long as the remote always returns
using the same encoder, this should be stable.
2017-11-06 12:34:10 -08:00
Eric Gribkoff 213d2f5c71
android-interop-testing,examples: bump minSdkVersion to 14 2017-11-06 11:03:52 -08:00
zpencer f86dc6cd83
core: add reflection based LongAdder (#3659) 2017-11-06 10:40:42 -08:00
Eric Anderson 03bdb7609e RELEASING.md: Check issues in release milestone 2017-11-03 15:02:58 -07:00
Eric Gribkoff b31db3cc9b
core: add resetConnectBackoff() method to ManagedChannel 2017-11-03 13:59:50 -07:00
ZHANG Dapeng 34555e497a
testing: add TlsTesting.loadCert 2017-11-02 16:40:49 -07:00
zpencer 2162cd07d5
netty,core: add a TransportTracer class (#3454) 2017-11-02 15:44:21 -07:00
zpencer 4c96ebd6d4
protobuf-lite: add javalite generated sources to intellij path (#3653) 2017-11-02 15:43:47 -07:00
Carl Mastrangelo de408e0a86
stub: update ServerCalls to include status messages
Additionally:

* Prefer RuntimeException from status
* remove redundant "static" on interfaces
* use checkState to shorten code
2017-11-02 14:03:17 -07:00
Eric Anderson f9f603570d Allow tests to run on IPv6-less machines
Our Travis-CI builds are failing with "Protocol family unavailable" due
to the usage of ::1. Although it's 2017 and we'd expect to have ipv6
_loopback_ anywhere that mattered, apparently that's not the case.

The tests now work equally well on IPv4-only and IPv6-only machines.
2017-11-02 13:32:34 -07:00
Carl Mastrangelo 37a67bf041
stub: clean up call cancellation 2017-11-01 17:15:37 -07:00
Eric Anderson 2e99214548 core: Add description for Status mapped from error-less Context
The message isn't great, but _much_ better than no message.
2017-11-01 17:10:09 -07:00
Kun Zhang d87ef74082
core: set sampled for local span per MethodDescriptor. (#3627)
This moves away from the global String-based Span name registry which
is not as flexible as we desire.

Also renamed the option name to be more accurate.  This is not
API-breaking because the origianl addition to MethodDescriptor and
code-gen didn't make it into the 1.7.0 release.
2017-11-01 16:46:05 -07:00
Carl Mastrangelo 253a01461b
examples: remove deprecated stub field references 2017-11-01 14:57:24 -07:00
Ray Tsang 80a8c8f3d7 netty: Updated ALPN error message and added troubleshooting procedures 2017-11-01 13:01:43 -07:00
ZHANG Dapeng 8a9660c700
testing: move TestUtils.recordServerCallInterceptor internal 2017-11-01 09:37:42 -07:00
ZHANG Dapeng d6ff4c259f
testing: move io.grpc.testing.StreamRecorder to internal 2017-11-01 09:37:22 -07:00
ZHANG Dapeng 27ae09522d
testing: mark io.grpc.testing.DeadlineSubject experimental 2017-11-01 09:37:00 -07:00
ZHANG Dapeng 9a06c4eb0e
testing: favor voidMethod and deprecate noopMethod 2017-11-01 09:36:24 -07:00
Eric Gribkoff e1fd615df8
SECURITY.md: provider must be installed before channel creation 2017-10-31 16:22:07 -07:00
Carl Mastrangelo 87c8791983
compiler: remove references to static fields 2017-10-31 15:24:48 -07:00
Eric Gribkoff ee503720b8
android-interop-testing: fix proguard for grpc-testing dependency 2017-10-31 10:52:58 -07:00
Carl Mastrangelo 8f88cb82f2
netty: include rst stream message in Status 2017-10-31 10:49:25 -07:00
Eric Anderson 46b2ce1922 Upgrade to Gradle 4.3
While this fixes a Gradle-caused failure on Java 9, it is still failing
due to Generated annotations as seen in #3633.

Fixes #3632
2017-10-30 15:38:52 -07:00
Carl Mastrangelo 30b59885b7
compiler: add methods for accessing method descriptors
* MethodDescriptor is lazy loaded, so protobuf loading only happens on demand.  This also means tracing registration happens  on demand.
* The names of the getters all being with `method`.  This makes it harder for autocomplete to pick them up.
* A new field is used, which matches the getter name.  Rather than make the new-getters reference the old-fields, make the old-fields reference the new getters.  This makes removal of the old-fields a simple operation.
* The getters may not be inlineable, but thats an easy fix if it ends up being a problem.  Not worth premature optimization (but is worth future work).

The expected timeline for this is adding this to the 1.8 cut, and deprecating the old-fields.  They will be removed in 1.9.
2017-10-30 10:30:34 -07:00
zpencer 53c135a48f
buildscripts: set -u, set -o pipefail (#3629)
Be even more defensive with our shell scripts, to avoid future mistakes.
2017-10-27 15:31:30 -07:00
Eric Anderson 733f5ac665 testing: Use StringBuilder instead of StringBuffer
We don't need the synchronization StringBuffer provides
2017-10-27 15:29:51 -07:00
zpencer 5856a932c3
netty: separate connection log (#3591)
Move netty connection log info to a separate logger:
  io.grpc.netty.NettyServerTransport.connections

Users can redirect or disable this log using the usual way:
  -Djava.util.logging.config.file="logging.properties"
2017-10-27 13:15:49 -07:00
zpencer d840227165
buildscripts: make the script fail for the right reason when using set -e (#3628) 2017-10-27 08:54:08 -07:00
Eric Anderson bbe81d0870 travis: Remove OS X build
With #3608 Kokoro is now able to handle OS X. I'm not removing the
OS X-specific parts of the .travis.yml in case we need to revert back to
using Travis.

Fixes #3466
2017-10-26 15:23:07 -07:00
zpencer 8970c3a7c1 kokoro: port .travis.yaml to kokoro for mac osx (#3608) 2017-10-26 14:26:35 -07:00
Michael Vorburger b5d93850e7 Replace IntelliJ IDEA specific sourceDirs with sourceSets
The sourceSets also works with Eclipse, and presumably other IDEs (OOB).

see also https://github.com/google/protobuf-gradle-plugin/issues/109
2017-10-26 13:35:14 -07:00
ZHANG Dapeng 7a4aa47070 core: remove unnecessary type params in ServerStreamTracer 2017-10-26 12:05:41 -07:00
ZHANG Dapeng 071942dc3b core: fix a race in InProcessTransport
Resolves #3571
2017-10-26 09:32:41 -07:00
zpencer 255643bed9 context: Make CancellableContext implement Closeable (#3607) 2017-10-25 11:17:44 -07:00
ZHANG Dapeng c90f27f454 stub: add withExecutor API 2017-10-24 14:00:45 -07:00
zpencer fedef8f866 SECURITY: tcnative version should be 2.0.6.Final (#3611) 2017-10-24 13:29:18 -07:00
Eric Anderson 0ef9ec6275 core: Fix naming style of string constants 2017-10-24 11:48:17 -07:00
Eric Anderson a83fe7bf96 core: Use literal host:port instead of computing
Using HostAndPort just complicates the code. HostAndPort is also @Beta,
which is generally fine to use in tests, but is needless here.
2017-10-24 11:47:46 -07:00