Commit Graph

2642 Commits

Author SHA1 Message Date
Carl Mastrangelo 01ea67f5cf
core: move exception to listener for RuntimeException, Error still throws 2017-12-05 10:29:04 -08:00
Carl Mastrangelo c9b02db276
all: add Status messages to all statuses 2017-12-04 19:00:16 -08:00
Eric Anderson 2d88269965 Update to Truth 0.36
Due to transitive dependencies, this also upgrades Guava to 22. However
Truth is only used in our tests, so our users should be unimpacted.
2017-12-04 13:48:00 -08:00
Kun Zhang 3f1d370e47
interop-testing: stop using MockableSpan. (#3823)
Interop tests use actual Census implementations, while MockableSpan is
compatible with the Census OSS implementation, it doesn't work with
the google internal implementation, thus the tests will fail.
2017-12-04 11:13:58 -08:00
Eric Anderson 042907f2ab java_grpc_library: add test for remote proto in srcs 2017-12-01 16:06:01 -08:00
Kun Zhang efcd134209
interop-testing: start a new server for each test method. (#3816)
By doing this we can isolate the Census records for each test, and
eliminate the trial-and-error workaround in AbstractInteropTest.

This is a preferred fix for #3777 and supersedes #3803
2017-12-01 13:08:03 -08:00
Eric Anderson 05905c658f bazel: Fix protobuf checksums
The protobuf checksums were simply not updated when changing the
version.
2017-12-01 13:06:29 -08:00
ZHANG Dapeng 3d6fcfc752
core: retry support part 1 followup, drainedSubstreams should not contain closed ones 2017-12-01 12:50:04 -08:00
Garrett Jones 7cdd35c270 SECURITY.md: Fix netty-codec-http2 typo 2017-12-01 12:48:46 -08:00
Rodrigo Queiro b34a9d4b26 bazel: correct sha1 for common-protos 2017-11-30 19:04:59 -08:00
zpencer 9e7a4c44be
core: move WithLog and LogId to io.grpc (#3813)
The channelz service must not live in io.grpc.internal, and channelz
needs to be able to get the identifier of the entities it
tracks. Since io.grpc can not refer to io.grpc.internal, the LogId
must be moved out of internal.
2017-11-30 15:04:40 -08:00
ZHANG Dapeng bc54970128
core: retry support part 1, RetriableStream
With an approach using a variant of `DelayedStream` - `RetriableStream`.

`RetriableStream` is a logical stream per call that can create a sequence of `substreams`, the physical streams for the retry attempts. It could also create a family of substreams in parallel in hedging case.
 
`RetriableStream` buffers, delays and executes stream operations before `passThrough`, where `passThrough` is meant by `commit` as well as the buffer `drained` by the winning substream.

This PR only implements buffering messages and replaying buffered messages when retry.
Retry policy, hedging, transparent retry, backoff, max buffer size and APIs that users can enable retry are not included in this PR.
2017-11-30 14:21:39 -08:00
zpencer 25cd0be24c
core,netty,okhttp: move TransportTracer.Stats to io.grpc (#3812)
io.grpc can not refer to io.grpc.internal so this needs to be moved
out.
2017-11-30 13:01:58 -08:00
Carl Mastrangelo aee5fc4176
all: update to proto 3.5.0 2017-11-30 11:50:19 -08:00
zpencer d080bae2a1
gae-interop-testing: kokoro script to run interop tests in GAE (#3731) 2017-11-29 11:20:15 -08:00
Kun Zhang 9239984a8a
grpclb: switch to fallback mode if all connections are lost (#3744)
Previously fallback mode can be entered only if the client has not
received any server list and the fallback timeout has expired.

Now the fallback timer is started when the stream to the balancer is broken
AND there is no ready Subchannels. Fallback mode is activated when the
timer expires. When a new server list is received from the balancer, either
the fallback timer is cancelled, or fallback mode is exited.

Also fixed a bug that the fallback timer should've been cancelled when GrpcState
is shut down.
2017-11-29 10:50:09 -08:00
Carl Mastrangelo 3671af2c49
okhttp: bump to okio 1.13.0 2017-11-28 15:05:10 -08:00
Carl Mastrangelo 7d1aae155f
Update README to reference 1.8.0 2017-11-28 14:28:35 -08:00
Carl Mastrangelo 09307ce191
netty: update to 4.1.17-Final 2017-11-28 13:52:23 -08:00
zpencer d42110c181
core: initial binary log class (#3699)
Each MethodDescriptor will have a binary log, though the log may
be a noop log. The binary log class is a skeleton class at the
moment, but does contain the max header and message length
info. The limits are determined by parsing the shell variable
GRPC_BINARY_LOG_CONFIG.
2017-11-28 12:20:03 -08:00
Eric Anderson e56d98723e core: Increase server handshake timeout to 120s
Previously it was 20s. 20s isn't _bad_, but may be too aggressive.
Having it longer doesn't hurt us too much; we just need some bound.
Since the MAX_BACKOFF on client-side is 120s, this will have client and
server match, except for jitter. Although I will note that the
client-side value covers more work than the server-side, such as
attempting to connect to multiple hosts.
2017-11-27 15:16:40 -08:00
ZHANG Dapeng 76da37b75f
cronet: use TestMethodDescriptors.voidMethod instead of noopMethod 2017-11-27 08:33:32 -08:00
Eric Gribkoff 4d35ea05c4
core,okhttp: handle unresolved proxy addresses 2017-11-23 11:00:09 -08:00
kenji yoshida 4db323c5c4 all: fix grammar typos in javadocs 2017-11-22 18:00:51 -08:00
Eric Anderson 2bde25d2d9 testing: Remove DeadlineSubject
The class is still used internally, so we move it to context's tests for
it to be reused. To avoid a circular dependency with context's tests
depending on core's tests, StaticTestingClassLoader was also moved to
context's tests.

This is driven by a need to modernize DeadlineSubject for newer versions
of Truth, but the newer versions of Truth update Guava. To avoid leaking
the Guava update to all users of grpc-testing, we're removing the
Subject. In our internal tests we can update the Truth dependency with
less issue.
2017-11-22 17:57:46 -08:00
ZHANG Dapeng 6c6538648b
testing: add testing package to javadoc 2017-11-22 16:10:25 -08:00
dapengzhang0 3275dcbc0f testing: delete some deprecated APIs in TestUtils 2017-11-22 16:09:59 -08:00
dapengzhang0 dc71083ce9 testing: delete deprecated StreamRecorder 2017-11-22 16:09:59 -08:00
dapengzhang0 83c417b639 testing: delete deprecated NoopClientCall and NoopServerCall 2017-11-22 16:09:59 -08:00
dapengzhang0 baebca213e testing: remove deprecated noopMethodDescriptor 2017-11-22 16:09:59 -08:00
Xiaoshuang LU cdb1f54794 netty: make server sockets be configurable 2017-11-22 16:00:33 -08:00
Lukasz Janyst 7fd199f32e compiler: Build on aarch64 2017-11-21 12:20:19 -08:00
Carl Mastrangelo 9c46f92b11
all: include golden files in releasing 2017-11-20 14:50:59 -08:00
Steve Conover 167029610e testing: bazel build targets
Adds necessary dependencies and bazel build rules to create `@grpc_java//testing`.
2017-11-20 10:48:57 -08:00
Eric Gribkoff dd0d028810
cronet: update to work with TransportTracer API 2017-11-17 16:36:56 -08:00
Eric Anderson f0efb0f1d3 Link JavaDoc to protobuf JavaDoc
This breaks javanano links, but the value to normal and lite proto seems
more important.
2017-11-17 14:28:26 -08:00
Eric Anderson 9bdb8f005a netty: Include more stace trace information for ClosedChannelExceptions
There's been another sighting, but it's very hard to narrow down what is
triggering it.
2017-11-17 13:18:52 -08:00
Eric Anderson 47821fa74e SECURITY.md: Avoid needing to update tcnative table every release
This also fixes an oversight for the 1.0.2+ releases, since they had a
different netty version.
2017-11-17 13:16:14 -08:00
Garrett Jones 69aeddae49 Bumping proto-google-common-protos to 1.0.0 2017-11-17 13:15:31 -08:00
David Cowden 3315d16f7c core: update ManagedChannel docs (#3762)
ManagedChannel now supports the getState/notifyWhenStateChanged API (#2292).
2017-11-17 13:14:42 -08:00
Eric Anderson 6bab82eeb6 auth: Use async version of getRequestMetadata
This avoids using DelayedStream and a thread hop when the credentials
are known immediately.
2017-11-17 11:52:07 -08:00
Eric Anderson b940af2dae
auth: Treat IOExceptions as UNAVAILABLE
Fixes #3267
2017-11-17 08:29:35 -08:00
Eric Anderson 02817e2a9d
core: Stabilize ManagedChannelBuilder.overrideAuthority
The CallOptions from #1767 are not included, so this is not enough to resolve
the issue.
2017-11-17 07:23:35 -08:00
Eric Anderson da75b02c8f core: Stabilize HandlerRegistry
MutableHandlerRegistry from #933 is not stabilized, so this is not enough to
resolve the issue.
2017-11-17 07:16:52 -08:00
Eric Anderson f0dcbc3b03
core: Disable handshakeTimeout for InProcess
handshakeTimeout is unnecessary for InProcess, and the scheduling is causing
Thread creation that is breaking restrictive test environments. Those
environments are mostly broken already because client-side will try to create
Threads as well, but they are currently lucking out that the exception on
client-side doesn't break much.
2017-11-17 06:54:05 -08:00
Carl Mastrangelo bb41e0a290
all: update github issue template 2017-11-16 18:43:19 -08:00
Eric Gribkoff 667b0611fe
core: correct issue number for getSchemaDescriptor() 2017-11-16 14:39:14 -08:00
Eric Gribkoff 4c483ef7a0
core: workaround for Atomic*FieldUpdater bug on some Android devices 2017-11-16 09:59:47 -08:00
zpencer 2f155606b8
core,netty: add ID to NettyServer (#3745)
These are already WithLogId:
 ManagedChannelImpl, InternalSubchannel, ServerTransport
2017-11-15 11:49:13 -08:00
ramaraochavali df357cb8d3 netty: Netty server poorly handles unknown content type 2017-11-15 11:32:50 -08:00