Throw away Travis-CI's custom Maven settings, because they are causing
massive CI failures when Maven slows to a crawl/hangs because of
failures contaicting repository.apache.org.
Travis-CI's settings includes repo.maven.apache.org, oss.sonatype
(releases and snapshots), and repository.apache.org (releases and
snapshots). Now we will just be using Maven's default, which may just
be repo.maven.apache.org.
- Only cat /VERSION if it exists
- The host name is used as the version name, and if running locally
the versions no longer necessarily start with 'kokoro'. Update the
clean up command.
Only the dummy-default version should ever be promoted. Test versions
should have no traffic routed to it, so that deletions are
simpler. Versions receiving traffic can not be deleted in GAE.
There's no good way to provide users of ALTS a choice between grpc-netty
and grpc-netty-shaded. Since Netty is not exposed through the ALTS API
surface, we opt for the shaded version as it has fewer deployment
issues. However, this also means that we _can't_ expose any Netty API,
like EventLoopGroup.
Reorganize the README to flow better for new users, pointing them in
good directions. Also try to reduce the size so they actually read the
thing. It's still to long, but is a step in the right direction.
Fixes#4615
* Reflowed some method parameters to be on the same line, else one
parameter per line
* Used `@link` where appropriate
* Made some parameters non-final where it had no effect
* Renamed some parameters to be consistent
There seem to be some users converting from StatusRuntimeException
to StatusException using the following paradigm:
sre.getStatus().toException(sre.getTrailers())
Since there isn't a viable alternative, revert the warning.
The version bump happened in some places already, but many references
were missed.
This fixes the following warning that shows up with newer versions of
Gradle:
> Using TaskInputs.file() with something that doesn't resolve to a File
> object has been deprecated and is scheduled to be removed in Gradle
> 5.0. Use TaskInputs.files() instead.
grpc-netty is still really useful, but for most users who aren't doing
anything advanced using grpc-netty-shaded is much safer from a
dependency basis.
grpc-netty-shaded has seen more usage and has shown itself to be stable
and reduce the number of conflicts due to Netty versions.
RoundRobinLoadBalancerFactory creates a new Picker instance every time the set of provided address groups changes or the connection state of subchannels associated with existing address groups changes. In certain scenarios, such as deployment/replacement of the target service cluster, this can lead to high churn of Picker objects. Given that each new Picker's subchannel index is initialized to zero, in these scenarios requests can end up getting disproportionately routed through subchannels (and hence server nodes) which are earlier in the list of address groups.
At Netflix we have measured that some service nodes end up taking 3-4x the load that of other nodes during deployment.
This commit randomizes the start index of the RoundRobinLoadBalancerFactory.Picker which eliminates this behavior.