Commit Graph

2468 Commits

Author SHA1 Message Date
Eric Anderson 1bbe126b44 core: Use hard-coded string for version
Using META-INF for loading the version is broken on Android and
frequently broken when gRPC is shaded. Having hard-coded strings be
replaced on version bumps has been working well.

Fixes #2098
2017-12-15 15:31:26 -08:00
Ryan Michela a84b406682 Partial fix for fresh Intellij import 2017-12-15 08:42:39 -08:00
zpencer 7e655beb88
core: ManagedChannel should implement InternalInstrumented 2017-12-14 18:09:46 -08:00
zpencer 4c17382a43
services: let BinaryLog factory return null (#3868) 2017-12-14 17:27:52 -08:00
Eric Anderson 4f4cedf92a
build: Support uploading releases separately from building 2017-12-14 16:51:14 -08:00
Eric Anderson ebf8a63e39 android-interop-testing: Fix compilation errors 2017-12-14 16:00:41 -08:00
Eric Anderson 09a7a22210 cronet: Fix compilation errors 2017-12-14 16:00:41 -08:00
Kun Zhang aeaced1c5d
cronet: pass TransportTracer instead of null. (#3869)
AbstractStream now requires TransportTracer to be non-null.
2017-12-14 15:43:39 -08:00
zpencer 02f56b0218
core,services: move BinaryLog class to grpc-services (#3867) 2017-12-14 14:20:30 -08:00
zpencer f1151f91b9
core: InternalInstrumented<T> for instrumented classes (#3817)
Entities that report stats to channelz will implement this interface.
2017-12-13 12:56:25 -08:00
zpencer 5cb609f038
core: Add ChannelStats (#3752)
`ManagedChannelImpl` and `OobChannelq now both have a package
private field `ChannelStats`. There will be an internal access
API coming in a follow up PR.
2017-12-12 09:20:46 -08:00
Carl Mastrangelo 1bb9498ea1
core: fix Attributes value equality
Fixes: #3857
2017-12-11 18:12:49 -08:00
Eric Anderson 2ea77cce1e core: Avoid frequently computing inprocess useragent 2017-12-11 16:02:49 -08:00
jyane 11b5c1a7c1 core: support user-agent in InProcess 2017-12-11 15:26:29 -08:00
zpencer 9e4f13daab
bazel: bump opencensus to 0.10.0 (#3851) 2017-12-11 11:48:45 -08:00
Jan Tattermusch d5d722abe7 Update CONTRIBUTING.md to CNCF CLA 2017-12-11 09:29:21 -08:00
Eric Anderson 8bcb5cfac6 compiler: Verify binary with native VS commands
This allows building release binaries on Windows without Bash and GCC.
2017-12-08 15:24:10 -08:00
Eric Anderson 83d710b6d7 Shade Netty transport, with tcnative
The entire transport is shaded because we wouldn't want to collide with
the unshaded form of grpc-netty.
2017-12-08 14:02:35 -08:00
zpencer b6f556c088
core,okhttp: bump census to 0.10.0 which should fix GAE issue (#3833) 2017-12-08 11:30:52 -08:00
zpencer 2b3885bbc2
core,okhttp: add TransportTracer to okhttpclient (#3809) 2017-12-07 17:12:08 -08:00
zpencer 173ca5d332
cronet, grpc-lb, interop-testing: fix lints #3848 2017-12-07 16:09:43 -08:00
zpencer 1e0a9d0bb5
cronet: update CronetClientTransport interface (#3846) 2017-12-07 10:54:15 -08:00
zpencer 359e61eb4a
netty: NettyServerTest should not hard code ports (#3845) 2017-12-07 10:53:28 -08:00
Shohei Kamimori 8b716a2f18 netty: add test for NettyServerBuilder 2017-12-07 09:07:31 -08:00
Eric Gribkoff 94bbe64e22
examples: add Android client side caching example app 2017-12-06 22:55:09 -08:00
Eric Anderson b9278e7011 buildscripts: Remove dependency on 7za
We already depend on Powershell, so this should make it easier to use the
script with less set-up.
2017-12-06 16:31:00 -08:00
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