Commit Graph

2979 Commits

Author SHA1 Message Date
zpencer 850249f9ca
core: fix lints from import (#4472)
The import surfaced a few linter issues.
2018-05-17 16:21:30 -07:00
Carl Mastrangelo e3f8891f57
protobuf,examples: move json encoding to examples 2018-05-17 15:48:45 -07:00
Eric Anderson e085a0eca0 Bump to Gradle 4.7
The new jmh plugin fixes a warning for the newer version of Gradle.
The new AppEngine plugin still produces a warning, but updating it
anyway so people know that upgrading the plugin doesn't fix the problem.
The new android-maven plugin fixes a build problem with the newer
Gradle.

The Visual Studio fixes were necessary starting ~4.4.
https://github.com/gradle/gradle-native/issues/34#issuecomment-335222096
describes the change in behavior.

There's nothing immediately being used as part of this update. It's just
to keep us current and to get us over that Visual Studio change hump.
2018-05-17 15:46:21 -07:00
Eric Anderson 2d75686a88 netty: Fix Javadoc reference to Channelz.Security
This fixes the warning:
`Tag @link: reference not found: Channelz.Security`

Javadoc `@link` is simplistic in its processing of '.' and thinks if a
dot exists it means it is part of the package name. You're forced to use
the full name of nested classes.
2018-05-17 10:32:15 -07:00
zpencer 5509fd35a7
services: differentiate between tcpi_retransmits and tcpi_retrans (#4470)
These are subtly differently named but distinct fields.
2018-05-16 17:34:49 -07:00
ZHANG Dapeng 4d94163bbd
core: Add ChannelTracer
This is a class similar to `CallTracer`, to be used for Channel Tracing.

The constructor arg `maxEvents` is a param supposed to be provided by `ManagedChannelBuilder`.
2018-05-16 10:56:41 -07:00
zpencer e806e387fe
core: put @ExperimentalApi on CallOptions.of() (#4466)
This marks the method as still experimental, to be clear to users that
they are using an experimental api.
2018-05-15 15:56:42 -07:00
ZHANG Dapeng 6a96656764
core: make channel stats' channel state consistent with subchannels
Moved `setState()` inside of `channelExecutor` runnable together with `setSubchannels`, otherwise the state may be inconsistent with subchannels, say channel state is the initial IDLE but subchannels is non-empty with active transports, or channel state is READY but subchannels is empty.
2018-05-15 15:48:57 -07:00
ZHANG Dapeng bf4a00c6de
context/core/netty: Add @CheckReturnValue to Context
By adding inner class annotations without introducing external dependencies.
2018-05-15 13:14:30 -07:00
ZHANG Dapeng 561583be14
core,services: Add ChannelTracing data object
Added `ChannelTrace` as an inner class of `Channelz`.

This is in preparation for the implementation of [Channel Tracing](https://github.com/grpc/proposal/blob/master/A3-channel-tracing.md)
2018-05-15 11:33:44 -07:00
zpencer 04a90bcad2
core: stabilize custom CallOptions API (#4457)
Deprecate `of()` in favor of `create()` and
`createWithDefault()`. Emphasize that the name string is only for
debug purposes.

Fixes #1869
2018-05-15 10:03:46 -07:00
zpencer 73fdb8716d
services: allow binlog env str to be empty or null (#4447)
Binary log objects are explicitly passed into channel and server
builders, but the configuration is something that's from the
environment variables. An unset or empty GRPC_BINARY_LOG_CONFIG
should be allowed to disable logging.

Previously, the SPI just reported itself as not available when the
conf str was not something valid.
2018-05-15 09:57:39 -07:00
ZHANG Dapeng 701c127f4c
examples: use GrpcCleanupRule for test examples 2018-05-14 11:30:38 -07:00
zpencer 21b73bbdc1
core: partially stabilize Attributes API (#4458)
Deprecate static builder method, Keys.of(), add a notice of plans to
remove keys(), emphasize that the name is only a debug label.
The `@ExperimentalAPI` is left on the class because there are still
issues around hashCode/equals.
2018-05-14 11:30:06 -07:00
Stephane Maarek 277c33c37f SECURITY.md: updated netty from 2.0.6 to 2.0.7
Master currently is for grpc >= 0.11 so it doesn't make sense that the SECURITY.md instructs to use the 2.0.6 (which triggers an error) - see https://github.com/grpc/grpc-java/issues/3989
2018-05-14 10:48:34 -07:00
zpencer 902baa0cde
core: do not use internal accessors in BinaryLogProvider (#4454)
Now that this class is in `io.grpc` the accessor is not needed.
2018-05-09 12:21:05 -07:00
zpencer 8a0ee979d0
RELEASING.md: add links to auto release documentation (#4444)
The steps are still valid, and should be considered the source of
truth. However, these steps have been automated as a kokoro job. Add a
link to the documentation for the kokoro job.
2018-05-07 16:29:09 -07:00
zpencer b9df27b86f
buildscripts: add basic sanity check for android aar (#4448)
Just a very basic sanity check that the android artifact is not missing.
2018-05-07 15:43:08 -07:00
zpencer 247a76ed93
core,netty,okhttp: make toString more consistent for channelz (#4434)
Use MoreObjects.toStringHelper and use only the log id's long value,
because the class name is already present in the toStringHelper.
2018-05-07 11:38:16 -07:00
Eric Gribkoff b83312fb7b buildscripts: generate android artifact 2018-05-07 11:31:56 -07:00
Eric Gribkoff 59c2223d6e android: including signing configuration 2018-05-07 11:31:56 -07:00
zpencer c51a7749b1
buildscripts: assume artifacts are coalesced in upload_artifacts (#4439)
The `find` was unnecessary. Update the sanity check to reflect this
assumption.
2018-05-07 11:18:42 -07:00
zpencer 6f29b60dcf
core, services: make BinaryLog an explicit object that is passed into channels/servers (#4431)
remove SPI, io.grpc.BinaryLog is a public API that is passed into builders and must be
explicitly closed.
2018-05-07 07:41:42 -07:00
ZHANG Dapeng 46079fff8a
services: complete ChannelTrace in channelz.proto 2018-05-04 16:59:33 -07:00
Grant Oakley dbf9bd2158 stub: add @CheckReturnValue to AbstractStub 2018-05-04 15:46:34 -07:00
zpencer 2404b25101
buildscripts: automate the release process (#4406)
These scripts set up the jobs needed to do one click releases.

List of changes:

Do not put files in mvn-artifacts/$ARCH. This makes the view uniform
across unix and windows and is easier to sign and upload.

A working curl is needed to build protobuf from source, so run yum
update.

run_in_docker.sh: use chmod to fix permisisons, do not set up user

linux_artifact builds 32 and 64 artifacts using unix.sh

add upload_artifacts cfg and script
2018-05-03 19:48:14 -07:00
Eric Gribkoff 275ebc4e90
android: add artifact build (#4433) 2018-05-03 16:38:54 -07:00
Carl Mastrangelo 60a0b0c471
all: normalize copyright header 2018-05-03 14:55:21 -07:00
Eric Anderson 894c815832
core: Document Metadata ownership passes to the Call{,Listener}
This was already clearly documented in ServerCall.Listener and
ClientCall.
2018-05-03 07:08:27 -07:00
zpencer 722acb151a
services: BinaryLog is an overused term, rename to BinlogHelper (#4429)
This class really is an internal helper class for the implementation.
2018-05-02 18:11:21 -07:00
Carl Mastrangelo 9817281dc3
service: include go package in channelz.proto 2018-05-02 17:15:00 -07:00
Grant Oakley 6bf8e0c084 core: add @CheckReturnValue to CallOptions 2018-05-02 15:56:52 -07:00
Carl Mastrangelo aeb61db278
services: update channelz proto package 2018-05-02 15:16:29 -07:00
ZHANG Dapeng e19e8f7d40
core: populate effective deadline to ClientStream
Added `ClientStream.setDeadline(Deadline deadline)` method, which will set the timeout header.

Resolves #4412
2018-05-02 13:31:03 -07:00
ZHANG Dapeng d50c191aca
core/stub: fix lint warnings 2018-05-02 10:37:32 -07:00
Eric Anderson 3a11a1f8b2 services: BinaryLogProviderImpl is experimental (#4420)
This class is not stable API.
2018-05-02 08:21:37 -07:00
Grant Oakley fcb48ff216 core,stub: Add toString() to ClientCallImpl and GrpcFuture 2018-05-01 16:49:56 -07:00
zpencer f8424f7b7b
examples: add kotlin and kotlin android examples (#4037)
Add kotlin version of HelloWorldClient and HelloWorldServer.
Add kotlin version of android example.
2018-05-01 14:54:34 -07:00
Carl Mastrangelo 3e43757efc
protobuf-nano: use specific package in test proto 2018-05-01 10:23:47 -07:00
Carl Mastrangelo 8be87de9b0
compiler: make testing service used by compiler not conflict with interop-testing proto
This change puts the compiler test.proto file in a directory that matches it's path.  The current proto package has a namespace collision with the grpc.testing proto in interop-testing.  Thus, this PR:

* change the package of test.proto to be grpc.testing.compiler
* moves the test.proto into the matching grpc/testing/compiler/test.proto path
* updates the generated code.
2018-05-01 10:13:18 -07:00
Carl Mastrangelo d35e77869e
services: move health.proto to correct directory 2018-04-30 18:32:02 -07:00
ZHANG Dapeng 02c4fa01c6
testing: GrpcCleanupRule
This will ease a lot of test scenarios that we want to automatically shut down servers and channels, with much more flexibility than `GrpcServerRule`. Resolves #3624

**ManagedChannel/Server cleanup details:**
- If the test has already failed, call `shutdownNow()` for each of the resources registered. Throw (an exception including) the original failure. End.
- If the test is successful, call `shutdown()` for each of the resources registered.
- Call `awaitTermination()` with `timeout = deadline - current time` and assert termination for each resource.  If any error occurs, break immediately and call `shutdownNow()` for the current resource and all the rest resources.
-  Throw the first exception encountered if any.
2018-04-30 17:15:52 -07:00
Carl Mastrangelo 045c566b88
netty: bump to 4.1.24-Final 2018-04-30 16:55:52 -07:00
ZHANG Dapeng b58e0f4059
core: stickiness for RoundRobinLoadBalancer
Add weak stickiness support for Round Robin lb.
2018-04-30 16:46:35 -07:00
Carl Mastrangelo 2b6edfc79d
grpclb: move load balancer proto to package-matching directory 2018-04-30 16:14:32 -07:00
Jorg Heymans 48f103c1ed examples: remove deprecated usage of usePlainText(boolean) (#4396)
Update examples (including android) to use non deprecated version of method.
2018-04-30 16:12:41 -07:00
Carl Mastrangelo 6bd5582175
services: update channelz with docs from upstream 2018-04-30 15:26:36 -07:00
Carl Mastrangelo b0333c6588
benchmarks: move proto to matching package structure 2018-04-30 14:12:53 -07:00
Carl Mastrangelo 017399027e
android-interop-testing: normalize integration proto directories 2018-04-30 11:31:10 -07:00
Carl Mastrangelo 26581562f0
interop-testing: normalize integration proto directories 2018-04-30 11:30:49 -07:00