Commit Graph

8291 Commits

Author SHA1 Message Date
veblush f76f2493ab Automated change: Fix sanity tests 2024-04-09 19:31:39 +00:00
Eugene Ostroukhov 4e735be35a [xds] Fallback implementation (#36145)
As per [gRFC A71](https://github.com/grpc/proposal/blob/master/A71-xds-fallback.md).

Closes #36145

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36145 from eugeneo:fallback-review 4871c0b316
PiperOrigin-RevId: 623211613
2024-04-09 10:38:01 -07:00
Craig Tiller a2ec600558 [call-v3] Updates to CallFilter (#36240)
Updates to `CallFilter` to get it ready for integration to `CallSpine`.

This is a bundle commit grabbed from my working branch so there's a few things rolled in here:

* PipeState picks up methods to close it cleanly and in error, and expands its Pull API to signify that error
* Add a `NextMessage` type that encapsulates one message pulled from a pipe (much like `Pipe::NextResult` - except that we know this is a message, and it's built on the `CallFilters` types)
* Add debug stringifiers to many CallFilters types, and better tracing
* Eliminate unused `CallFilters::PipePromise::Pull` type -- other variants are better for all cases
* Add support for filters having the signature `(Handle, Filter*) -> promise returning StatusOr<Handle>` - will support `ClientAuthFilter` in a future commit asynchronously mutating client initial metadata

Closes #36240

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36240 from ctiller:cally-1 aa5fe997bf
PiperOrigin-RevId: 623194327
2024-04-09 09:41:40 -07:00
Craig Tiller b0cf42d86e [clang-format] Remove requirement that port_platform.h is at the top (#36281)
Closes #36281

PiperOrigin-RevId: 623176865
2024-04-09 08:58:34 -07:00
Craig Tiller b361574a0b Fix fuzzer builds internally for core e2e tests
The build layout I chose in https://github.com/grpc/grpc/pull/36198 causes problems for Google's internal build systems. This change fixes things so that link order is correct - unfortunately at the cost of adding 90-some C++ compilations.

I've made a new .cc file that is as minimal as possible to reduce the cost of those compilations down as far as I can.

PiperOrigin-RevId: 623012695
2024-04-08 18:50:44 -07:00
AJ Heller 798399b984 Automated rollback of commit 7c57fb70e9.
PiperOrigin-RevId: 622990471
2024-04-08 17:03:32 -07:00
Craig Tiller c7b81ad925 [ref-counted] Use down_cast for additional safety checks (#35579)
Closes #35579

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35579 from ctiller:use-downcast 6f11268751
PiperOrigin-RevId: 622981017
2024-04-08 16:22:23 -07:00
Yash Tibrewal 70839a9b19 [OTel C++] Add experimental optional locality label available to client per-attempt metrics (#36254)
As per https://github.com/grpc/proposal/pull/419, the experimental optional label `grpc.lb.locality` is added to the follow per-call metrics -
* grpc.client.attempt.duration
* grpc.client.attempt.sent_total_compressed_message_size
* grpc.client.attempt.rcvd_total_compressed_message_size

Closes #36254

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36254 from yashykt:OTelOptionalLabelsOnPerCall c5390c99a1
PiperOrigin-RevId: 622973959
2024-04-08 15:52:59 -07:00
AJ Heller 7c57fb70e9 [surface] Add an API to inject connected endpoints into servers (#35957)
Closes #35957

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35957 from drfloob:endpoint-infusion abdb9939c5
PiperOrigin-RevId: 622939183
2024-04-08 13:42:57 -07:00
Yijie Ma 536899d998 [test] Change to "threadsafe" mode for `ChannelInitDeathTest.CanAddBeforeAllTwice` (#36263)
<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #36263

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36263 from yijiem:fix-tests-1.63-release 205746bdbd
PiperOrigin-RevId: 622251682
2024-04-05 12:29:52 -07:00
Yijie Ma 00708c0b6d [test] Run `ServiceConfigParserDeathTest.DoubleRegistration` test first (#36261)
Seeing the following error in the [grpc_portability](https://fusion2.corp.google.com/ci;ids=1930537984/kokoro/prod:grpc%2Fcore%2Fmaster%2Flinux%2Fgrpc_portability/activity/3abaaa26-ee47-4ae6-a7ca-29c42e92857a/tests) build:

```
2024-04-05 04:25:38,790 WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
I0000 00:00:1712290838.800474 1083330 config.cc:239] gRPC experiments: work_serializer_dispatch:off; default-enabled: call_status_override_on_cancellation, event_engine_dns, event_engine_listener, http2_stats_fix, monitoring_experiment, pending_queue_cap, work_serializer_clears_time_cache
I0000 00:00:1712290838.800793 1083330 ev_epoll1_linux.cc:123] grpc epoll fd: 3
Note: Google Test filter = ServiceConfigParserTest.DoubleRegistration
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from ServiceConfigParserTest
[ RUN      ] ServiceConfigParserTest.DoubleRegistration

[WARNING] /var/local/git/grpc/third_party/googletest/googletest/src/gtest-death-test.cc:1102:: Death tests use fork(), which is unsafe particularly in a threaded context. For this test, Google Test detected 4 threads. See https://github.com/google/googletest/blob/main/docs/advanced.md#death-tests-and-threads for more explanation and suggested solutions, especially if this is the last message you see before your test times o
ut.

2024-04-05 04:25:38,791 TIMEOUT: cmake/build/service_config_test --gtest_filter=ServiceConfigParserTest.DoubleRegistration  GRPC_POLL_STRATEGY=epoll1 [pid=1083328, time=300.0sec]
```

<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #36261

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36261 from yijiem:fix-tests-1.63-release 5605defcba
PiperOrigin-RevId: 622222161
2024-04-05 10:48:05 -07:00
AJ Heller f238e5399c [security] Reland: Refactor credentials types to remove special handling for insecure creds (#36242)
See #36176. The only difference is a temporary shim for Secure credentials types, which was already discussed and approved separately.

Closes #36242

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36242 from drfloob:reland/36176 f07bebe289
PiperOrigin-RevId: 621879911
2024-04-04 09:20:02 -07:00
Mark D. Roth 0aebe1c7b6 [authz] get endpoint local/peer addresses via a handshaker (#36237)
This paves the way for removing `GetEndpoint()` from the transport API, which is a prereq for removing `grpc_endpoint_shutdown()`.

Closes #36237

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36237 from markdroth:endpoint_filter_cleanup_rbac 46a41400e0
PiperOrigin-RevId: 621537397
2024-04-03 08:55:15 -07:00
Craig Tiller e0cade4daa [party] Decouple `Party` from `Arena` (#36229)
Following up to #33961 `Party` no longer needs to refer to `Arena`, and decoupling gives us a few more degrees of freedom in the design of a final `CallSpine`.

Also flesh out `LogStateChange` usage so that all state transitions are traced when that tracer is enabled.

Closes #36229

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36229 from ctiller:arenaless-party 51ae8eb898
PiperOrigin-RevId: 621525912
2024-04-03 08:13:29 -07:00
Yijie Ma d7c38ea9a1 [time] Fix Timestamp minus arithmetic when rhs is InfPast or InfFuture (#36219)
modeled after absl/time

<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #36219

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36219 from yijiem:fix-infinities e102d7fe21
PiperOrigin-RevId: 621287985
2024-04-02 14:03:11 -07:00
Yash Tibrewal 952a2421f9 [OTel C++] Add API to set channel scope filter (#36189)
Also addressing a TODO from previous PRs where `authority` is not being populated in the `ChannelScope`.

Closes #36189

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36189 from yashykt:OTelChannelScope e76f9ce0ca
PiperOrigin-RevId: 621231764
2024-04-02 11:06:03 -07:00
AJ Heller da43a61322 Automated rollback of commit 822311c0d9.
PiperOrigin-RevId: 621025232
2024-04-01 19:51:52 -07:00
AJ Heller 822311c0d9 [security] Refactor credentials types to remove special handling for insecure creds (#36176)
Forked from #35957

This PR refactors the credentials types to remove Secure and Insecure Channel and Call credentials types. We standardize on a `c_creds()` accessor method for all credentials types, which can now be treated uniformly. This notably removes special-case handling of insecure credentials.

The special code-paths for insecure creds are no longer necessary in the wake of #25586.

Closes #36176

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36176 from drfloob:fork/35957/creds-API fd64d59c23
PiperOrigin-RevId: 621008166
2024-04-01 18:12:59 -07:00
Craig Tiller 65ddb57908 [call-v3] Changes to CallFilters to prep for final CallInitiator/UnstartedCallHandler/CallHandler APIs (#36005)
- client initial metadata is always supplied at initiator construction
- stack configuration is lazily supplied

Closes #36005

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36005 from ctiller:chan3-no-push 423869d77b
PiperOrigin-RevId: 620971618
2024-04-01 15:35:32 -07:00
Craig Tiller f45b9a8f3d [build] Deduplicate compilation of core e2e tests (#36198)
Closes #36198

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36198 from ctiller:e2edup 38e1d82c1d
PiperOrigin-RevId: 620955836
2024-04-01 14:44:01 -07:00
Craig Tiller c079e533de [ref-counts] DualRefCounted orphanability is different to Orphanable orphanability (#36194)
Previously we wrote `DualRefCounted : public Orphanable`, but this is wrong: `Orphan`-ing is a private implementation detail to `DualRefCounted`, but a public interface to `Orphanable`.

This bug means that it's possible to write `OrphanablePtr<T>` when `T` is derived from `DualRefCounted`, leading to hard to diagnose bugs - especially when moving a previously `Orphanable` type to be `DualRefCounted`.

This change removes the inheritance from `Orphanable`, and instead adds an overridable method `Orphaned` that implementors of `DualRefCounted` can implement.

In this way we get:
* compiler errors if someone chooses to write `OrphanablePtr` for one of these types
* compiler errors if someone implements `Orphan()` instead of `Orphaned()` in the wrong place (or vice versa)

Closes #36194

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36194 from ctiller:orf b96b831a96
PiperOrigin-RevId: 620916632
2024-04-01 12:16:14 -07:00
Craig Tiller 8b8f43aecf [metadata] Remove arena from `grpc_metadata_batch` constructor (#36118)
Internally, use `std::vector` instead of `ChunkedVector` to hold extra metadatum.

I'm not totally convinced this is the right move, so it's going to be a try it and monitor for a month or so thing... I might roll back if performance is actually affected (but I think we'll see some wins and losses and overall about a wash).

Closes #36118

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36118 from ctiller:YUPYUPYUP 68e0acd0a2
PiperOrigin-RevId: 620902195
2024-04-01 11:23:54 -07:00
AJ Heller 3d82c522fa [EventEngine] Refactor ServerCallbackCall to use EventEngine::Run (#36126)
This removes two Executor::Run dependencies, and requires that all ServerCallbackCall implementations implement the new `RunAsync` method. There's one other known other implementation of ServerCallbackCall that will need to be updated.

We could also support an "inefficient" path that uses the default engine (not implemented here), for all subclasses that do not want to update. As far as anyone is aware, the ServerCallbackCall class was never intended to be subclassed externally.

Closes #36126

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36126 from drfloob:server-callback-on-ee 6242a78a3f
PiperOrigin-RevId: 619621598
2024-03-28 17:34:00 +00:00
Tanvi Jagtap 8013ffe965 [grpc][Gpr_To_Absl_Logging] Fixing minor typo
PiperOrigin-RevId: 619432986
2024-03-27 00:00:11 -07:00
Mark D. Roth e715261ac6 [slice] remove absl_base64 experiment (#36178)
Closes #36178

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36178 from markdroth:b64_remove 0139e3bce8
PiperOrigin-RevId: 619288082
2024-03-26 13:16:27 -07:00
Yijie Ma c54c69dcdd [Metrics] New OpenTelemetry Plugin Implementation of Stats Plugin (#36070)
<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #36070

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36070 from yijiem:grpc-metrics 72653727b1
PiperOrigin-RevId: 618529035
2024-03-23 19:37:26 -07:00
Yash Tibrewal 041c283ccc [experiments] Fix initialization order fiasco (#36168)
Internal ref : b/324720620

Closes #36168

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36168 from yashykt:FixStaticOrderInitFiasco 14f2a89503
PiperOrigin-RevId: 618328195
2024-03-22 17:32:17 -07:00
Yijie Ma 2d88de979e [test] Use std::regex_search in no_logging test (#36131)
<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #36131

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36131 from yijiem:no-logging f3f638176f
PiperOrigin-RevId: 617630514
2024-03-20 14:47:48 -07:00
Eugene Ostroukhov 125492ea70 [xds] Add env protection for multiple xDS servers in bootstrap (#36154)
As per [gRFC A71](https://github.com/grpc/proposal/blob/master/A71-xds-fallback.md).

Closes #36154

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36154 from eugeneo:xds-bootstrap-servers-env-var aada3e7e4a
PiperOrigin-RevId: 617579604
2024-03-20 11:42:37 -07:00
Mark D. Roth 733e904491 [XdsClient] implement non-per-call metrics (#36020)
As per gRFC A78 (https://github.com/grpc/proposal/pull/419).

Closes #36020

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36020 from markdroth:non_per_call_metrics_xds c1d9b464bf
PiperOrigin-RevId: 617320495
2024-03-19 16:00:32 -07:00
Yash Tibrewal bb9f4466e1 [api-fuzzer] Remove ping support (#36146)
Pings were removed from the Core API in https://github.com/grpc/proposal/pull/203

Closes #36146

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36146 from yashykt:DisablePingFromApiFuzzer e9a783aecb
PiperOrigin-RevId: 617014710
2024-03-18 18:43:26 -07:00
Craig Tiller 15d64cf9c9 [party] Auto-batch cross party wakeups (#36048)
If party1 wakes party2 we'd prefer that party1 finishes all its activations before it wakes party2:
intuition: party1 might wake party2 for other things too, and being able to coalesce them all into one wakeup significantly helps performance.

Closes #36048

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36048 from ctiller:wakey f6d4416685
PiperOrigin-RevId: 616970833
2024-03-18 15:55:40 -07:00
AJ Heller 669493b0b7 [EventEngine] Rename and add tests for ResolvedAddress wildcard port accessor (#36144)
The function name was not very descriptive of its behavior, and there were no tests that made the behavior clear. The documentation had been wrong for some time, fixed in https://github.com/grpc/grpc/pull/36143. CC @nipil

Closes #36144

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36144 from drfloob:test-wildcard-addr-get-port fd32ecb3ef
PiperOrigin-RevId: 616939868
2024-03-18 14:04:15 -07:00
Gregory Cooke c68e6c27ca [Security Tests - Crl Provider] Fix inconsistent directory related tests (#36122)
There were some failures in the Crl Directory related tests after https://github.com/grpc/grpc/pull/36031

This came down to https://github.com/grpc/grpc/pull/36031 adding some CRLs with bad qualities (invalid content/signatures, overriding issuer names) to the `test_creds/crl_data/crls` directory, which is used in the directory reloading tests. The tests began failing on some platforms because they were picking up these bad crls which were failing various checks, but the test was designed to assume that `test_creds/crl_data/crls` was a valid and good directory.
This PR moves the bad CRLs to their own directory to prevent this accidental mash-up of test data. It also adds debug logging to our custom verification stack.

Closes #36122

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36122 from gtcooke94:crl_fix 508dd1370d
PiperOrigin-RevId: 616280898
2024-03-15 17:00:57 -07:00
Tanvi Jagtap 2c49416713 [grpc][Gpr_To_Absl_Logging] Using absl from within gpr logging (#36108)
![Config_Vars_Absl (1)](https://github.com/grpc/grpc/assets/139093547/04d9b75c-dd1c-42ee-81a3-d20e2bbd5672)

<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #36108

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36108 from tanvi-jagtap:tjagtap_config_vars c48a3524f0
PiperOrigin-RevId: 615652000
2024-03-13 22:04:47 -07:00
Yash Tibrewal 424e95ccbb [Max Message Limits] Improve logging to determine client/server (#36103)
Will help debugging errors like #35805

Closes #36103

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36103 from yashykt:HelpDebugMessageSizeLimits 5507a257f3
PiperOrigin-RevId: 615564790
2024-03-13 15:36:00 -07:00
Yijie Ma 88585c43e9 [test] Allow channel-level "Sending goaway" log in no_logging test (#36100)
<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #36100

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36100 from yijiem:no-logging 970a640475
PiperOrigin-RevId: 615299752
2024-03-12 23:30:13 -07:00
Mark D. Roth 390fef0590 [RR and WRR] clean up dualstack experiments (#35135)
Closes #35135

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35135 from markdroth:dualstack_rr_wrr_cleanup 438b29df5c
PiperOrigin-RevId: 615208297
2024-03-12 16:26:41 -07:00
Mark D. Roth a19e01c4fd [sanity] fix sanity on master (#36102)
Broken by the merge commit for https://github.com/grpc/grpc/pull/36021.

Closes #36102

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36102 from markdroth:sanity 709aa26fe8
PiperOrigin-RevId: 615200273
2024-03-12 15:58:49 -07:00
Mark D. Roth 6546fcd196 [pick first] remove happy eyeballs experiment (#36092)
Closes #36092

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36092 from markdroth:pf_happy_eyeballs_cleanup 24d49849bb
PiperOrigin-RevId: 615157870
2024-03-12 13:45:44 -07:00
Eugene Ostroukhov 57ff0b890f [xds] Support for multiple servers in the bootstrap.json (#36021)
Closes #36021

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36021 from eugeneo:tasks/multiple-servers-bootstrap 8ebf7e1c06
PiperOrigin-RevId: 615150672
2024-03-12 13:24:08 -07:00
Gregory Cooke b7f9217633 [Security - Revocation] Refactor how CRLs are checked internally (#36031)
This PR changes how CRLs are handled purely internally. After discussing with davidben@, there are various problems with the `X509_STORE_set_get_crl` API and we shouldn't use it. This change keeps the behavior and external API the same, but instead of bulk pushing CRL information into OpenSSL, we instead iterate through the built chain and check each certificate for revocation, as well as doing the CRL validation ourselves.

Closes #36031

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36031 from gtcooke94:CrlInternalRefactor 5f4c816648
PiperOrigin-RevId: 615139682
2024-03-12 12:49:51 -07:00
Mark D. Roth 750c451e96 [fake stats plugin] add locking to avoid tsan failures (#36093)
A couple of recent flakes:
- https://btx-internal.corp.google.com/invocations/849676bf-0e4e-4ccf-9c17-21c19d6c0da5/targets/%2F%2Ftest%2Fcpp%2Fend2end:rls_end2end_test@poller%3Depoll1;config=b8fe4b9e3f3b31af34590e00748b2a7a095cedd3b431113a6063d7780bb24eca/log
- https://btx-internal.corp.google.com/invocations/9515330c-a165-4ab5-81a1-3285d8a16bbb/targets/%2F%2Ftest%2Fcpp%2Fend2end%2Fxds:xds_wrr_end2end_test@experiment%3Dno_pick_first_happy_eyeballs;config=27047b7cfce2ec428f95a56e3bcafdc2cb72a602f6a43af1336b4c235e772213/log

Closes #36093

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36093 from markdroth:fake_stats_plugin_tsan_fix f504330684
PiperOrigin-RevId: 615045684
2024-03-12 08:17:14 -07:00
Mark D. Roth ae131c991f [client idleness] remove experiment (#35229)
Closes #35229

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35229 from markdroth:client_idleness_experiment_cleanup 65c570d07a
PiperOrigin-RevId: 614882554
2024-03-11 20:02:13 -07:00
github-actions[bot] d1cea2dd09 Automated fix for refs/heads/master (#36059)
PanCakes to the rescue!

We noticed that our 'sanity' test was going to fail, but we think we can fix that automatically, so we put together this PR to do just that!

If you'd like to opt-out of these PR's, add yourself to NO_AUTOFIX_USERS in .github/workflows/pr-auto-fix.yaml

Closes #36059

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36059 from grpc:create-pull-request/patch-02276f4 fb93164443
PiperOrigin-RevId: 613642099
2024-03-07 11:10:54 -08:00
Alexander Polcyn 1491233a80 Expose LB policy test lib SubchannelState::state_tracker_ to tests
PiperOrigin-RevId: 613029941
2024-03-05 18:07:09 -08:00
Mark D. Roth c43f1a63b0 [RLS] implement non-per-call metrics (#36001)
Closes #36001

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36001 from markdroth:non_per_call_metrics_rls b713980f21
PiperOrigin-RevId: 612532005
2024-03-04 11:58:31 -08:00
Mark D. Roth 0213523907 [build] move channel out of grpc_base (#35924)
This adds the following new targets:
- `channel`: A virtual interface for a channel.
- `legacy_channel`: A channel implementation that supports the filter stack and call v2.
- `channel_create`: A standalone function to create a channel.
- `server_interface`: A base class with a few accessor methods used in surface/call.cc.
- `server`: The actual server implementation.
- `api_trace`, `call_tracer`, `server_call_tracer_filter`, `call_finalization`: These were split out of `grpc_base` to avoid various dependency problems.
- `compression`: This is a combination of the previously existing `compression_internal` target and the compression code that was part of `grpc_base`.

Closes #35924

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35924 from markdroth:channel_interface 94a7fffddb
PiperOrigin-RevId: 612512438
2024-03-04 11:07:17 -08:00
Mark D. Roth de3e6f8234 [pick_first] implement non-per-call metrics (#35984)
As per gRFC A78 (https://github.com/grpc/proposal/pull/419).

Closes #35984

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35984 from markdroth:non_per_call_metrics_pf 02db004d5a
PiperOrigin-RevId: 611475162
2024-02-29 08:12:55 -08:00
Tanvi Jagtap e39bd50716 [grpc] Redacting unknown metadata types in debug logs. (#36006)
Redacting unknown metadata types in debug logs.

<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #36006

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36006 from tanvi-jagtap:tjagtap_redact_01 94c5738bfe
PiperOrigin-RevId: 611334483
2024-02-28 21:18:41 -08:00