Commit Graph

4269 Commits

Author SHA1 Message Date
Xuan Wang d167fe7467 [Release] Bump core version to 42.0.0 for upcoming release (#36887)
Change was created by the release automation script. See go/grpc-release.

Closes #36887

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36887 from XuanWang-Amos:bump_core_version_202406111526 5df15650dd
PiperOrigin-RevId: 642358496
2024-06-11 12:48:26 -07:00
AJ Heller c9fdef1317 [logging] Centralize configuration for trace flags (#36576)
All TraceFlags are now configured in `src/core/lib/debug/trace_flags.yaml`. The format is:

```
my_flag:
  default: false                   # the default value; default=false
  description: Some Description
  debug_only: false                # debug_only flags only work in debug builds; default=false
  internal: false                  # internal flags will not show up in documentation; default=false
```

To regenerate the trace flag source code, run `tools/codegen/core/gen_trace_flags.py` (requires mako). This script is also run when sanity checking.

This PR also adds two new features:

### Glob-based flag configuration

Trace flag configuration now supports `?` (single wildcard character) and `*` (one or more wildcard characters).  For example, using `GRPC_TRACE='event_engine*'` will enable all flags that match that glob. It expands to:

* event_engine
* event_engine_client_channel_resolver
* event_engine_dns
* event_engine_endpoint
* event_engine_endpoint_data
* event_engine_poller

### A cleaner trace-logging macro in abseil logging format

If your goal is only to add log statements when the `fault_injection_filter` trace flag is enabled, you can use the macro:

```
GRPC_TRACE_LOG(fault_injection, INFO) << "Filtered:" << 42;
```

When the trace flag is enabled, the the log will show something like this:
```
I0000 00:00:1715733657.430042      16 file.cc:174] Filtered:42
```

----

Note: just like with the gpr_log to abseil logging conversion, the pre-existing trace logging usages can be replaced with the new tracing macro across multiple PRs.

Closes #36576

PiperOrigin-RevId: 641295215
2024-06-07 10:47:38 -07:00
Craig Tiller 90a649fd3f [call-v3] Client call implementation (#36724)
Closes #36724

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36724 from ctiller:transport-refs-8 51cf92ab82
PiperOrigin-RevId: 640558652
2024-06-05 09:57:33 -07:00
Mark D. Roth e4daabc8bc [reorg] move ext/gcp/metadata_query.* -> util/gcp_metadata_query.* (#36789)
Also rename the class from `MetadataQuery` to `GcpMetadataQuery`.

Closes #36789

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36789 from markdroth:reorg_gcp_metadata_query d2b84f46be
PiperOrigin-RevId: 639256546
2024-05-31 22:40:20 -07:00
Mark D. Roth 34ac4ee5de [grpc_error] remove unnecessary status attributes (#36523)
The following attributes were completely unused:
- kOffset
- kIndex
- kSize
- kFilename
- kKey
- kValue

The following attributes were added but never programmatically accessed, and I've moved them into the status messages themselves, which is another step toward #22883:
- kErrorNo
- kTsiCode
- kWsaError
- kHttpStatus
- kOsError
- kSyscall
- kTargetAddress
- kRawBytes
- kTsiError

Closes #36523

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36523 from markdroth:grpc_error_attribute_cleanup b289c399fe
PiperOrigin-RevId: 639147583
2024-05-31 14:11:42 -07:00
Mark D. Roth 82756e9ce0 Automated rollback of commit fbd8ebe7cd.
PiperOrigin-RevId: 638821486
2024-05-30 16:23:47 -07:00
gRPC Team Bot fbd8ebe7cd Automated rollback of commit db2d775ffc.
PiperOrigin-RevId: 638442984
2024-05-29 16:09:03 -07:00
Craig Tiller 34871fafa3 [call-v3] New client channel implementation (#36723)
Closes #36723

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36723 from ctiller:transport-refs-7 e019b8f5ea
PiperOrigin-RevId: 638424601
2024-05-29 15:06:01 -07:00
Mark D. Roth db2d775ffc [reorg] move src/core/lib/http -> src/core/util/http_client (#36710)
Closes #36710

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36710 from markdroth:reorg_httpcli 6c751e34b2
PiperOrigin-RevId: 638358691
2024-05-29 11:42:19 -07:00
Xuan Wang ecdb5caf83 [BoringSSL] Update third_party/boringssl-with-bazel (#36716)
Change was created by the release automation script. See go/grpc-release.

Closes #36716

PiperOrigin-RevId: 638337588
2024-05-29 10:46:22 -07:00
Mark D. Roth fe817c8ab1 [reorg] move lib/json -> util/json (#36645)
Closes #36645

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36645 from markdroth:reorg_json 5b6434dd44
PiperOrigin-RevId: 636757495
2024-05-23 19:51:49 -07:00
Mark D. Roth 6c08d36c3b [reorg] move telemetry code to src/core/telemetry (#36644)
Closes #36644

PiperOrigin-RevId: 636702732
2024-05-23 15:54:07 -07:00
Mark D. Roth 58a4b9c922 [reorg] move src/core/lib/gpr -> src/core/util (#36543)
Closes #36543

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36543 from markdroth:reorg_util_gpr ba84e186be
PiperOrigin-RevId: 634113744
2024-05-15 16:32:20 -07:00
Craig Tiller 0ecee5ad3f [call-v3] Server path (#36509)
<!--

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 #36509

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36509 from ctiller:transport-refs-3 2771a2b0e1
PiperOrigin-RevId: 633240374
2024-05-13 09:45:09 -07:00
AJ Heller c0208416b6 Automated rollback of commit 82e5116fb0.
PiperOrigin-RevId: 632241053
2024-05-09 12:54:02 -07:00
Yash Tibrewal 87b71907d6 [Release] Bump version to 1.65.0-dev (on master branch) (#36544)
Change was created by the release automation script. See go/grpc-release.

Closes #36544

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36544 from yashykt:bump_dev_version_202405061956 69ee5c869e
PiperOrigin-RevId: 631187829
2024-05-06 14:41:36 -07:00
Mark D. Roth 32e03171e7 [reorg] move xds code to src/core/xds (#36521)
Also do some cleanup in CODEOWNERS.

Closes #36521

PiperOrigin-RevId: 631137895
2024-05-06 11:57:32 -07:00
AJ Heller 82e5116fb0 Automated rollback of commit f45ac2c9e4.
PiperOrigin-RevId: 630539205
2024-05-03 17:30:40 -07:00
Yash Tibrewal 29ba397f01 [Release] Bump core version 202405022240 (#36515)
Closes #36515

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36515 from yashykt:bump_core_version_202405022240 59d2f3930c
PiperOrigin-RevId: 630220266
2024-05-02 17:09:03 -07:00
AJ Heller f45ac2c9e4 Reland: [surface] Add an API to inject connected endpoints into servers
PiperOrigin-RevId: 630095574
2024-05-02 10:00:02 -07:00
Mark D. Roth 1e5fc3df8b [reorg] move server code to src/core/server (#36475)
Closes #36475

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36475 from markdroth:reorg_server 30edc04c0f
PiperOrigin-RevId: 629776917
2024-05-01 11:16:02 -07:00
Craig Tiller e614dafd89 [woah] Remove deadline filter (#36477)
Also begin to eliminate `CallContext` in favor of just exposing `Call` - ultimately there's not really a need to introduce two types here, so I'm going to wind that idea back over a few PRs.

I've avoided making this an experiment as the changes required were quite structural.

Closes #36477

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36477 from ctiller:deadline-time 9856eeebe6
PiperOrigin-RevId: 629599230
2024-04-30 19:45:22 -07:00
Yash Tibrewal a0bee78a28 [BoringSSL] Update third_party/boringssl-with-bazel (#36435)
Change was created by the release automation script. See go/grpc-release.

Closes #36435

PiperOrigin-RevId: 629574967
2024-04-30 17:28:00 -07:00
Mark D. Roth 6e981d7460 [reorg] move handshaker code to src/core/handshaker (#36375)
Closes #36375

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36375 from markdroth:reorg_handshaker d1ed49f4df
PiperOrigin-RevId: 629497065
2024-04-30 12:42:01 -07:00
Tanvi Jagtap f68f8e8fa3 [grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging GPR_ASSERT (#36466)
[grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging GPR_ASSERT
Replacing GPR_ASSERT with absl CHECK.
These changes have been made using string replacement and regex.
Will not be replacing all instances of CHECK with CHECK_EQ , CHECK_NE etc because there are too many callsites. Only ones which are doable using very simple regex with least chance of failure will be replaced.
Given that we have 5000+ instances of GPR_ASSERT to edit, Doing it manually is too much work for both the author and reviewer.

<!--

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 #36466

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36466 from tanvi-jagtap:tjagtap_src_core_lob_event_engine d101d5f701
PiperOrigin-RevId: 629105415
2024-04-29 10:15:57 -07:00
Craig Tiller d52779da52 [call-v3] Interception chain (#36414)
Introduce the interception chain type.
Also introduces the real call-v3 call spine based atop CallFilters.

Closes #36414

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36414 from ctiller:interception-chain 90c8e96973
PiperOrigin-RevId: 627784183
2024-04-24 11:03:13 -07:00
Mark D. Roth 08f56b3a74 [reorg] move channelz code to src/core/channelz (#36380)
Closes #36380

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36380 from markdroth:reorg_channelz f186e53f70
PiperOrigin-RevId: 626447939
2024-04-19 13:05:23 -07:00
gRPC Team Bot 6dc64db1a8 Automated rollback of commit f61049f641.
PiperOrigin-RevId: 626062841
2024-04-18 09:43:26 -07:00
AJ Heller f61049f641 [surface] Reland: Add an API to inject connected endpoints into servers
PiperOrigin-RevId: 625837807
2024-04-17 16:17:51 -07:00
AJ Heller 1a8b22f2de [build] Restrict visibility for creating core credentials types. (#36216)
Closes #36216

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36216 from drfloob:conceal-core-cred-creation a44a299273
PiperOrigin-RevId: 625425746
2024-04-17 01:21:29 +00:00
Yijie Ma cd30592193 [release] Bump dev version 202404101721 (#36333)
<!--

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 #36333

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36333 from yijiem:bump_dev_version_202404101721 0a7cc5b4b7
PiperOrigin-RevId: 623878150
2024-04-11 11:04:35 -07:00
Esun Kim 34a7e76359 [Deps] Rollfoward Protobuf upgrade to v26.1 (#36323)
This reverts commit 78b9d84fd3.

Closes #36323

PiperOrigin-RevId: 623547891
2024-04-10 11:07:26 -07:00
Yijie Ma 0a7a85a323 [Release] Bump core version to 40.0.0 for upcoming release (#36293)
Change was created by the release automation script. See go/grpc-release.

Closes #36293

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36293 from yijiem:bump_core_version_202404081658 b306ec1e69
PiperOrigin-RevId: 623338846
2024-04-09 18:38:48 -07:00
AJ Heller 798399b984 Automated rollback of commit 7c57fb70e9.
PiperOrigin-RevId: 622990471
2024-04-08 17:03:32 -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
Esun Kim 78b9d84fd3 [Dep] Rollback Protobuf upgrade to v25.1 (#36247)
This is for gRPC Python that has an issue with Protobuf Python v26

Closes #36247

PiperOrigin-RevId: 621629528
2024-04-03 13:56:36 -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 e78ec82a2c [call-v3] Remove CallFactory (#36226)
This was a concept that I thought we'd need, but as work has continued it's clear that the right api is CallDestination (or variants thereof)

Closes #36226

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36226 from ctiller:call_factory c30a893f3a
PiperOrigin-RevId: 621255162
2024-04-02 12:11: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
Craig Tiller adf6c7b644 [idle] Remove v3 channel idle filter experiment (#36213)
It looks like we're settling on moving this functionality into the channel itself - so removing the filter makes sense (especially since it had some significant bugs)

Closes #36213

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36213 from ctiller:x-ex 3040dcec95
PiperOrigin-RevId: 620996358
2024-04-01 17:15:27 -07:00
Esun Kim 03312884dc [Deps] Upgraded protobuf to v26.1 (#35796)
This is to upgrade Protobuf to v26.1 along with upb, and utf8_range.

Closes #35796

PiperOrigin-RevId: 620259696
2024-03-29 09:19:06 -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
Craig Tiller ca478bd429 [experiments] Remove some, extend some (#36166)
Remove rolled out experiments v3_compression_filter, v3_server_auth_filter; Extend WIP v3_channel_idle_filter for a bit, and extend work_serializer_clears_time_cache until OSS issues with work_serializer_dispatch are resolved.

Closes #36166

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36166 from ctiller:updat3 2c7223f63b
PiperOrigin-RevId: 619057925
2024-03-25 21:35:03 -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
Vignesh Babu 7533328075 [server] Allow configuring max incoming connections at the server (#36088)
Closes #36088

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36088 from Vignesh2208:server-fix e62a8f7ae7
PiperOrigin-RevId: 614729878
2024-03-11 11:17:34 -07:00
Esun Kim 7b98cda1f4 No public description
PiperOrigin-RevId: 613626993
2024-03-07 10:26:42 -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
Alisha Nanda fa2bae473a [metadata] Expose metadata limits and annotation info to filter stack (#35970)
<!--

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 #35970

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35970 from ananda1066:client_metadata b62a9ae146
PiperOrigin-RevId: 610830228
2024-02-27 12:07:35 -08:00
Mark D. Roth 40577dd585 [WRR] implement non-per-call metrics (#35977)
As per gRFC A78 (https://github.com/grpc/proposal/pull/419).

Note that these new metrics are populated only if the `wrr_delegate_to_pick_first` experiment is enabled, which is the case by default.

Closes #35977

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35977 from markdroth:non_per_call_metrics_wrr 7acea32fc4
PiperOrigin-RevId: 610760874
2024-02-27 08:32:09 -08:00