Commit Graph

5819 Commits

Author SHA1 Message Date
Eric Anderson 27edab007d Start 1.56.0 development cycle 2023-04-21 15:56:00 -07:00
Eric Anderson 8054b20325
authz: Add missing ExperimentalApi annotation
It was missed in b43ddc28
2023-04-20 13:09:53 -07:00
Eric Anderson c35870bce0 interop-testing: Start mgmt server before xds server
The xds server can take a really long time to start if the xds resources
are slow to load. Ideally the management server would be available
during this time so we can inspect the server. The server health still
won't go to SERVING until the xds server starts, which is appropriate.
2023-04-20 11:49:17 -07:00
Larry Safran 9204223c16
alts:Remove character dropped from error message (#10068)
The DECRYPTION_FAILURE_RE matcher had an exclamation point that was dropped from the related error message between Java 11 and 19.

Fixes #10011
2023-04-20 11:05:36 -07:00
Eric Anderson 8aa25476e9
SECURITY.md: Update/modernize docs
There's still plenty more that could be done, but I want to keep this on
the simpler/less-invasive side and it'd just delay these changes for no
real benefit.
2023-04-20 08:20:52 -07:00
Eric Anderson 3c89aa191b android-interop-testing: Avoid JRE Guava from Protobuf 22.3 upgrade
This fixes the interop test on API levels 19-23
2023-04-20 06:40:12 -07:00
yifeizhuang 8b9ae27cdf
xds: remove environmental variables (#10055) 2023-04-19 17:26:26 -07:00
Eric Anderson ebc84c209f api: Stabilize Detachable and HasByteBuffer
Fixes #7387
2023-04-19 14:31:06 -07:00
Larry Safran 7255c8dfa8
retries:Remove early commit for transparent retries with none remaining. (#10066)
* retries:Remove early commit for transparent retries when no retries or no hedging remain.

Fixes #10011
2023-04-19 13:42:59 -07:00
Ashitha Santhosh b43ddc2886
authz: File Watcher Authorization Server Interceptor (#9775) 2023-04-19 10:50:19 -07:00
Sergii Tkachenko c9fcd46e84
buildscripts: increase PSM Security test timeout to 4h (#10065)
The total time PSM Security takes to run was getting close to 3h lately.
Adding an extra hour to allow for a larger margin of error.

ref b/259690410
2023-04-19 10:35:12 -07:00
yifeizhuang 111ff60e1c
xds: fix wrr stuck in rr mode (#10061) 2023-04-18 16:39:51 -07:00
Eric Anderson 35852130d9 buildscripts: Cross-compile in Docker
Previously builds were done with Ubuntu 16.04, and now we are using
18.04. Thus the generated binaries will no longer work for
Ubuntu 16.04 and Debian 9 users, both of which are outside of their
support window and aren't supported by Abseil. RHEL users are
unaffected, as the binaries already didn't work on RHEL 7 and they will
remain working with RHEL 8. FWIW, Ubuntu 18.04 will leave its support
window in June.
2023-04-18 16:16:35 -07:00
Eric Anderson 4fec5bbb83
examples: grpc-level proxy 2023-04-18 15:41:09 -07:00
Carl Mastrangelo 4e3ee4471e
all: use PerfMark.traceTask (#9950)
* all: use PerfMark.traceTask

* make linter happy
2023-04-18 10:46:54 -07:00
Eric Anderson 2e5cc84c51 examples: Reduce boilerplate and sort scripts
The point of the sorting is to reduce the chances of merge conflicts. I
greatly prefer verboseness over cleverness in examples, but the tasks
can only be sorted manually and there's so many of them.

It is counter-productive to do this for the examples that have their own
project folder, as there's so few tasks in that case that they don't
need to be ordered.
2023-04-18 09:54:22 -07:00
Eric Anderson 1551cc7403 Upgrade Protobuf Java to 3.22.3 (aka 22.3)
The version used by protoc-gen-grpc-java will be upgraded separately,
because of large C++ build changes necessary. But that won't impact
users at all. We are upgrading to protoc 22.3; only the grpc plugin is
not upgraded.

Bazel is upgraded for both Java and C++.
2023-04-17 13:16:20 -07:00
Larry Safran bcbdb205b5
Update README etc to reference 1.54.1 (#10058) 2023-04-17 13:13:04 -07:00
Terry Wilson 6e54ceb2d1
rls: Refresh name resolution on rejected addresses (#10032)
If a child load balancer rejects the addresses it if given all we can do
is to trigger a name resolution refresh and hope for a better set of
addresses.
2023-04-14 16:27:17 -07:00
Eric Anderson be2a2fc3b8 Avoid repeating grpc version in Android documentation
This removes some steps from the release process. These two locations
aren't special enough in way that deserves manually changing the version
each release.
2023-04-14 15:06:53 -07:00
yifeizhuang 14ba959545
census: add delayed name resolution tracing annotation (#10044) 2023-04-14 11:44:50 -07:00
Terry Wilson a702397903 Revert "testing: RpcBehaviorLoadBalancingProvider to use acceptResolvedAddresses() (#10030)"
This reverts commit 17e1fcb393.
2023-04-14 10:12:33 -07:00
Terry Wilson f2b976266e Revert "core: ForwardingLoadBalancer to forward acceptResolvedAddresses() (#10050)"
This reverts commit 086edf0f20.
2023-04-14 10:12:33 -07:00
Terry Wilson 086edf0f20
core: ForwardingLoadBalancer to forward acceptResolvedAddresses() (#10050) 2023-04-13 18:23:11 -07:00
Eric Anderson 445efe7423 .github/workflows: Add Bazel CI
This will replace the kokoro-based CI. We need to upgrade the image
Kokoro runs on, but it is easier to add a GitHub Actions CI than to run
a one-off test on a new image with Kokoro.

A clean run takes 10 minutes and a cached run takes 8.5. So it is a
little bit slower than the 5.5 minutes on Kokoro, but still pretty
quick.
2023-04-13 15:12:47 -07:00
Eric Anderson 9af202fbd0 .github/workflows: Fix duplicate key in testing CI
This has been broken and not running tests since d580bd3 (just a few
days ago).
2023-04-13 14:30:31 -07:00
yifeizhuang e12baed5a9
services: rename to (clear)setQpsMetric (#10031) 2023-04-11 15:18:41 -07:00
Terry Wilson 5082b4c02a
xds: Add dummy LRS service for control plane tests (#10038) 2023-04-11 13:56:08 -07:00
yifeizhuang fc4410f159
api, census: add new pendingStreamCreated on clientStreamTracer and new tracer annotation (#10014) 2023-04-11 13:49:33 -07:00
Eric Anderson 8d98e5ff7f core: Fix NPE race during hedging
The problem was one hedge was committed before another had drained
start(). This was not testable because HedgingRunnable checks whether
scheduledHedgingRef is cancelled, which is racy, but there's no way to
deterministically trigger either race.

The same problem couldn't be triggered with retries because only one
attempt will be draining at a time. Retries with cancellation also
couldn't trigger it, for the surprising reason that the noop stream used
in cancel() wasn't considered drained.

This commit marks the noop stream as drained with cancel(), which allows
memory to be garbage collected sooner and exposes the race for tests.
That then showed the stream as hanging, because inFlightSubStreams
wasn't being decremented.

Fixes #9185
2023-04-11 13:10:41 -07:00
Jeff Davidson 1c6a7412bb
Add BIND_ALLOW_ACTIVITY_STARTS to BindServiceFlags. (#10008)
This flag is added in the U SDK, which is still under development. Since it's just a numeric constant, we copy the value until it is stable and mark the API is experimental, with appropriate warnings about depending on it from production code.

A follow-up change will be made after SDK finalization to point to the official constant (or otherwise update to match any SDK changes), at which point we can remove the `@ExternalApi` annotation.

See b/274061424
2023-04-11 22:04:55 +02:00
Eric Anderson d580bd3d1c .github/workflows: Save subproject reports on test failure
There was recently a failure with the Tomcat test in servlet/jakarta:
```
io.grpc.servlet.jakarta.TomcatInteropTest > pingPong FAILED
    java.lang.AssertionError at AbstractInteropTest.java:845
        Caused by: io.grpc.StatusRuntimeException at Status.java:539
...
* What went wrong:
Execution failed for task ':grpc-servlet-jakarta:tomcat10Test'.
> There were failing tests. See the report at: file:///home/runner/work/grpc-java/grpc-java/servlet/jakarta/build/reports/tests/tomcat10Test/index.html
```

But we couldn't get more details because servlet/jakarta didn't match
the artifact glob.
2023-04-11 12:03:00 -07:00
Eric Anderson f6ddd63f09 Increase test timeouts for ARM emulation
LoadWorkerTest.runUnaryBlockingClosedLoop and Http2NettyTest.tlsInfo are
failing every CI run. It appears they are the unfortunate tests run
first, so are slowest to start as classloading proceeds. There's
definitely other tests that probably need adjustment, but fixing these
two gives us some hope of having a green run occasionally.
2023-04-10 21:57:25 -07:00
Terry Wilson 1e028c404d
xds: Wait for sync context before assertions in federation test (#10021) 2023-04-10 14:05:01 -07:00
Terry Wilson 17e1fcb393
testing: RpcBehaviorLoadBalancingProvider to use acceptResolvedAddresses() (#10030) 2023-04-10 12:52:43 -07:00
Daniel Liu 5201e49ce1
services,orca: update backend metrics support to allow for server-wide metrics recording (per-call and OOB) (#9902)
Also added input range validation.
2023-04-10 11:45:04 -07:00
Matthew Stevenson 11a1f9e3e8
alts: Enable user to configure max number of concurrent ALTS handshakes. (#10016) 2023-04-10 10:49:04 -07:00
Vindhya Ningegowda 1e1b57e15b Removes the ExperimentalApi annotation from GcpObservability. 2023-04-06 12:44:23 -07:00
DNVindhya cc6be5f8c6
gcp-o11y: Remove monitored resource detection for logging (#10020)
* removed populating monitored resource to k8s_conatiner by default for logging; Delegating the resource detection to cloud logging library instead (enabled by default)

* remove kubernetes resource detection logic from observability
2023-04-06 11:48:46 -07:00
Terry Wilson 18e274de65
xds: Synchronize access to test control plane collections (#10012)
Fixes #9938
2023-04-04 14:34:11 -07:00
Eric Anderson 4ae7370646 netty: Remove long-dead third_party reference
This was added in 9ef07916 and should have lived until we upgraded to a
newer Netty in 67eefa69.
2023-04-04 12:03:58 -07:00
Terry Wilson 6d75fca23f
xds: Distinct LoadStatManagers (#10009)
Currently the code maintains one LoadStatsManager2 that collects all
stats. The problem with this is that in a federation situation there
will be multiple LrsClients that will be periodically picking up stats
from the manager and sending them to their respective control planes.
This creates a first-come-first-serve situation where the stats get
randomly distributed across the control planes.

This change creates separate LoadStatsManagers dedicated to their own
control planes, thus assuring no stats will get lost.
2023-04-04 11:29:17 -07:00
Terry Wilson ec9b8e0d61
xds: Correctly start LRS clients in federation situations (#10000)
xds: Correctly start LRS clients in federation situations

The old code used a single member variable to indicate if load reporting
had already been started by XdsClientImpl. This boolean was used to
avoid starting a LoadReportClient more than twice. This works fine with
a single control plane server.

The problem occurs in federation situations where there is more than one
control plane and thus more than one LoadReportClient. Once the first
LoadReportClient is started, the member variable boolean is flipped to
true and no other LoadReportClients would be started.

This change removes the boolean member variable and relies on the fact
that starting an already started LoadReportClient is a no-op.
2023-04-03 18:35:48 -07:00
yifeizhuang bbe5a0227d
xds: fix flaky wrr test (#10004) 2023-04-03 09:14:44 -07:00
Larry Safran 10f5e5afd6
examples: Error details example (#9997)
* examples: Detail Error example (google.rpc.Status)
2023-03-31 16:04:27 -07:00
DNVindhya 9ea7506b2b
use glob for example file names which is used in updating release versions (#9998) 2023-03-31 10:24:05 -07:00
Larry Safran 42b4c61d5e
examples: Health example (#9991)
Provides a server with both a greet service and the health service.

   Client has an example of using the health service directly through the unary call
    <a href="https://github.com/grpc/grpc-java/blob/master/services/src/main/proto/grpc/health/v1/health.proto">check</a>
    to get the current health.  It also utilizes the health of the server's greet service
    indirectly through the round robin load balancer, which uses the streaming rpc
    <strong>watch</strong> (you can see how it is done in
    {@link  io.grpc.protobuf.services.HealthCheckingLoadBalancerFactory}).
2023-03-30 13:32:04 -07:00
Terry Wilson 8ceac65e7a
examples: custom load balancer example (#9951)
Example on how to implement a custom LoadBalancer
2023-03-28 11:51:41 -07:00
Larry Safran e0ddce8612
RELEASING.md:Addressed review comments. (#9995) 2023-03-27 18:17:13 -07:00
yifeizhuang 046e02bcdf
okhttp: forceful close after MAX_CONNECTION_AGE_GRACE_TIME (#9968) 2023-03-27 15:31:14 -07:00