Commit Graph

2497 Commits

Author SHA1 Message Date
GitHub Actions
51a1502d93 Update artifacts branch 2025-01-06 17:47:35 +00:00
Mark D. Roth
947c18d232 [xDS] fix re-resolution for logical DNS clusters (#37211)
Fixes a bug from https://github.com/grpc/grpc/pull/35011.

Closes #37211

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/37211 from markdroth:xds_logical_dns_reresolution_fix 666f1df81a66cd51856913abd7ae47ee57667125
PiperOrigin-RevId: 652505521
2024-07-15 09:29:25 -07:00
Tanvi Jagtap
ee5ccee552 [Gpr_To_Absl_Logging] Remove GRPC_API_TRACE (#37190)
[Gpr_To_Absl_Logging] Remove GRPC_API_TRACE .
This will be replaced by GRPC_TRACE_LOG

Closes #37190

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/37190 from tanvi-jagtap:grpc_api_trace_fix 6dae72bc6e69cc5bef2fcc7b87fe4fdfa62e72f6
PiperOrigin-RevId: 652397141
2024-07-15 01:29:59 -07:00
Mark D. Roth
660101a2c9 [xDS] implement system root cert support (#37185)
As per gRFC A82 (https://github.com/grpc/proposal/pull/436).

Closes #37185

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/37185 from markdroth:xds_system_root_certs 9ee1e825586688f1bc4aad5c5d915c30dc4369b8
PiperOrigin-RevId: 651896612
2024-07-12 15:06:50 -07:00
Esun Kim
a47d91c7b2 [Clean-up] Tidy fix (#37104)
Applied two clang 17 tidy fixes;

- https://clang.llvm.org/extra/clang-tidy/checks/readability/container-size-empty.html
- https://clang.llvm.org/extra/clang-tidy/checks/modernize/make-shared.html

Closes #37104

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/37104 from veblush:fix-tidy 7b905869b819ac3bd6c45feed665e1f98a0585ca
PiperOrigin-RevId: 650815403
2024-07-09 18:08:10 -07:00
Mark D. Roth
e5c99ad94b [xDS] implement authority rewriting (#37087)
As per gRFC A81 (https://github.com/grpc/proposal/pull/435).

A few small improvements along the way:
- Use `DownCast<>` instead of `static_cast<>` in `ServiceConfigCallData::GetCallAttribute()`.
- Add a convenient templated wrapper for `ClientChannelLbCallState::GetCallAttribute()`, similar to the one on `ServiceConfigCallData`.
- Added a `ParseBoolValue()` helper to xds_common_types_parser, and use it in various places in xDS resource parsing.

Closes #37087

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/37087 from markdroth:xds_authority_rewriting 3679d2b061cf12b398c7662dee6d1fc408425aeb
PiperOrigin-RevId: 650293912
2024-07-08 10:25:04 -07:00
Mark D. Roth
1761685fc1 [xDS e2e tests] set channel/server creds in tests instead of as a test parameter (#37156)
As part of the xDS authority rewriting implementation in #37087, I need to write some tests showing the authority being rewritten.  However, the fake security connector currently crashes on unexpected authorities.  (As a side note, I think the fake security connector is very cumbersome and should be redesigned, but that's a separate project.)  As a result, I need a way to use InsecureCreds on a per-test basis.

I thought about just adding an option to `XdsTestType` to trigger use of InsecureCreds, but the logic we use for determining which creds type to use for what is already very cumbersome, and adding another option there would have just made that worse.  Instead, I have switched to a simpler approach where the individual tests can decide what creds type to use directly.  This both unblocks my other PR and makes the existing code more maintainable.

Closes #37156

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/37156 from markdroth:xds_e2e_test_creds_improvement 2e813834d09ccdf858868f7f47100d150e92490b
PiperOrigin-RevId: 649225248
2024-07-03 16:04:30 -07:00
Mark D. Roth
22322fe7df [e2e tests] fix regex for connection failures to catch a missed case (#36969)
Closes #36969

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36969 from markdroth:e2e_test_regex_fix 043e5fdadbf85efdd9886224b1743f3a9b7e5e4c
PiperOrigin-RevId: 644540986
2024-06-18 16:10:31 -07:00
Craig Tiller
104078e8d2 [resource_quota] Clear wait for ready bit in e2e test (#36967)
We don't have a guarantee of timeliness for connectivity issues to clear up with resource quota, and so this wait for ready setting is causing very long delays for the test to complete.

Closes #36967

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36967 from ctiller:rq 4e76af9bdaeba36eb77ab128b1f99c30c682871b
PiperOrigin-RevId: 644502087
2024-06-18 13:58:12 -07:00
Mark D. Roth
dee3cf6e34 [e2e tests] fix connection failure regex (#36922)
Closes #36922

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36922 from markdroth:e2e_test_flake_fix 1bcc04aaa73cb883ceb9107a65c0323707254884
PiperOrigin-RevId: 643176629
2024-06-13 17:46:45 -07:00
Mark D. Roth
f7ce3ee9d5 [call v3] add dynamic filter support to client channel (#36877)
Also made some minor improvements to the `ConfigSelector` API.

Closes #36877

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36877 from markdroth:client_channel_v3_dynamic_filters 6a539fe3200dd81b8ca6fd1aa3955ecc8f75666a
PiperOrigin-RevId: 642755276
2024-06-12 15:22:29 -07:00
Craig Tiller
fdac9ebfdf [thready_tsan] Grab bag of improvements (#36886)
- ensure ordering of `OnAccept` and `Shutdown` callbacks from thready event engine (previously these could be reordered and this caused spurious failures)
- enable thready_tsan for one C++ e2e test
- don't filter thready_tsan for local builds (only CI)

Closes #36886

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36886 from ctiller:erm e3b88e7d86aff7707819ddd010850123e730a91a
PiperOrigin-RevId: 642702724
2024-06-12 12:43:06 -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 b289c399fed67322ac4f3de24b5cec5e81663886
PiperOrigin-RevId: 639147583
2024-05-31 14:11:42 -07:00
Mark D. Roth
2395bb1b86 [xDS] fix "tls" channel cred in bootstrap to actually work (#36726)
This fixes a fairly embarrassing bug and lack of testing from #33234.  Prior to this fix, attempting to use the "tls" creds type would always cause a crash.

@gtcooke94 @matthewstevenson88 Note that the root cause of this bug was that when I wrote this code, I assumed that `grpc_tls_credentials_options` had a reasonable default for the cert verifier.  But it turns out that it doesn't do that directly; instead, we are only imposing that default in [`CredentialOptionSanityCheck()`](621aa4e5ce/src/core/lib/security/credentials/tls/tls_credentials.cc (L85)), which is called only when we call [`grpc_tls_credentials_create()`](621aa4e5ce/src/core/lib/security/credentials/tls/tls_credentials.cc (L160)), not when we directly instantiate `TlsCredentials` as my code was doing.  As part of the TlsCreds API cleanup you're working on, we should fix this so that callers get the right behavior even if they are internal callers that instantiate the TlsCreds object directly rather than calling the C-core API.

Closes #36726

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36726 from markdroth:xds_bootstrap_mtls_creds_fix dac2789e104a7cdc22efbfe5be0a4da4a4ad13a1
PiperOrigin-RevId: 637993734
2024-05-28 13:00:28 -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
Tanvi Jagtap
154081a92a [grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging - gpr_log (#36678)
[grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging - gpr_log
In this CL we are migrating from gRPCs own gpr logging mechanism to absl logging mechanism. The intention is to deprecate gpr_log in the future.

We have the following mapping

1. gpr_log(GPR_INFO,...) -> LOG(INFO)
2. gpr_log(GPR_ERROR,...) -> LOG(ERROR)
3. gpr_log(GPR_DEBUG,...) -> VLOG(2)

Reviewers need to check :

1. If the above mapping is correct.
2. The content of the log is as before.
gpr_log format strings did not use string_view or std::string . absl LOG accepts these. So there will be some elimination of string_view and std::string related conversions. This is expected.

Closes #36678

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36678 from tanvi-jagtap:test_cpp_gpr_log 81b8f4179f6111b902cbed9eb65ef6f41eb1e32d
PiperOrigin-RevId: 636410944
2024-05-22 21:59:06 -07:00
Esun Kim
f4ac0a3093 [Clean-up] Fix deprecated protobuf function usages (#36640)
Resolved the use of deprecated protobuf functions that would have caused clang-tidy issues with the upcoming protobuf release. The error encountered was:

```
2024-05-15 16:47:15,874 9074 warnings generated.
test/cpp/end2end/message_allocator_end2end_test.cc:330:38: error: 'CreateMessage' is deprecated: Use Create [clang-diagnostic-deprecated-declarations,-warnings-as-errors]
  330 |             google::protobuf::Arena::CreateMessage(&arena_));
      |                                      ^
bazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/protobuf_lite/google/protobuf/arena.h:179:3: note: 'CreateMessage' has been explicitly marked deprecated here
  179 |   ABSL_DEPRECATED("Use Create")
      |   ^
external/com_google_absl/absl/base/attributes.h:683:49: note: expanded from macro 'ABSL_DEPRECATED'
  683 | #define ABSL_DEPRECATED(message) __attribute__((deprecated(message)))
      |                                                 ^
test/cpp/end2end/message_allocator_end2end_test.cc:332:38: error: 'CreateMessage' is deprecated: Use Create [clang-diagnostic-deprecated-declarations,-warnings-as-errors]
  332 |             google::protobuf::Arena::CreateMessage(&arena_));
      |                                      ^
bazel-out/k8-fastbuild/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/protobuf_lite/google/protobuf/arena.h:179:3: note: 'CreateMessage' has been explicitly marked deprecated here
  179 |   ABSL_DEPRECATED("Use Create")
      |   ^
external/com_google_absl/absl/base/attributes.h:683:49: note: expanded from macro 'ABSL_DEPRECATED'
  683 | #define ABSL_DEPRECATED(message) __attribute__((deprecated(message)))
      |
```

Closes #36640

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36640 from veblush:protobuf-arena-create 522591a6ee21f8d873becfd9ec0019951b4bd5db
PiperOrigin-RevId: 635912826
2024-05-21 13:39:52 -07:00
Tanvi Jagtap
4dc1097d04 [grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging - gpr_log (#36677)
[grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging - gpr_log
In this CL we are migrating from gRPCs own gpr logging mechanism to absl logging mechanism. The intention is to deprecate gpr_log in the future.

We have the following mapping

1. gpr_log(GPR_INFO,...) -> LOG(INFO)
2. gpr_log(GPR_ERROR,...) -> LOG(ERROR)
3. gpr_log(GPR_DEBUG,...) -> VLOG(2)

Reviewers need to check :

1. If the above mapping is correct.
2. The content of the log is as before.
gpr_log format strings did not use string_view or std::string . absl LOG accepts these. So there will be some elimination of string_view and std::string related conversions. This is expected.

Closes #36677

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36677 from tanvi-jagtap:regex_test_end2end dfb803ebffe4ddc68698a91ee6e84be4bd49d4cd
PiperOrigin-RevId: 635807701
2024-05-21 08:03:45 -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 ba84e186beb1ec50d09bcf91ebd16e88b8e225aa
PiperOrigin-RevId: 634113744
2024-05-15 16:32:20 -07:00
AJ Heller
bc5570bec8 Revert "[grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging - BUILD (#36607)" (#36625)
This reverts commit 15850972dd.

Breaks the bazel distribtests. https://source.cloud.google.com/results/invocations/da317d7c-5240-445f-8953-68a840ccc892/targets/%2F%2Ftools%2Fbazelify_tests%2Ftest:bazel_distribtest_6.5.0_buildtest/log

Closes #36625

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36625 from drfloob:revert-36607 395191f9c700e9b5206cef3bb44d875924602898
PiperOrigin-RevId: 633995522
2024-05-15 10:18:57 -07:00
Tanvi Jagtap
15850972dd [grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging - BUILD (#36607)
[grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging - BUILD
In this CL we are just editing the build and bzl files to add dependencies.
This is done to prevent merge conflict and constantly having to re-make the make files using generate_projects.sh for each set of changes.

Closes #36607

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36607 from tanvi-jagtap:build_test_cpp 3e17d778d03272cd51da86baa38b67f77760735c
PiperOrigin-RevId: 633523097
2024-05-14 03:37:04 -07:00
Yijie Ma
bc4766381a [metrics] Templatized Metrics API (#36449)
This adds compile-time checking that the type of the value and the size of the labels and optional labels passed when recording a metric must match with the type and the size specified when the metric is registered.

The RegistrationBuilder API idea is credited to @ctiller.

<!--

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

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36449 from yijiem:registration-builder-api a72781013699a985a8e06152594268d6c45a9589
PiperOrigin-RevId: 632271022
2024-05-09 14:31:47 -07:00
Tanvi Jagtap
d8d7128d2d [grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging - gpr_log (#36550)
[grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging - gpr_log

In this CL we are migrating from gRPCs own gpr logging mechanism to absl logging mechanism. The intention is to deprecate gpr_log in the future.

We have the following mapping
1. gpr_log(GPR_INFO,...) -> LOG(INFO)
2. gpr_log(GPR_ERROR,...) -> LOG(ERROR)
3. gpr_log(GPR_DEBUG,...) -> VLOG(2)

Reviewers need to check :
1. If the above mapping is correct.
2. The content of the log is as before.

gpr_log format strings did not use string_view or std::string . absl LOG accepts these. So there will be some elimination of string_view and std::string related conversions. This is expected.

Closes #36550

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36550 from tanvi-jagtap:tjagtap_test_cpp_e2e_xds d242076993e6f82886f91cf53f7abdb0c88e7424
PiperOrigin-RevId: 632024853
2024-05-08 21:40:59 -07:00
Tanvi Jagtap
e3be06ee38 [grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging - gpr_log (#36548)
[grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging - gpr_log

In this CL we are migrating from gRPCs own gpr logging mechanism to absl logging mechanism. The intention is to deprecate gpr_log in the future.

We have the following mapping
1. gpr_log(GPR_INFO,...) -> LOG(INFO)
2. gpr_log(GPR_ERROR,...) -> LOG(ERROR)
3. gpr_log(GPR_DEBUG,...) -> VLOG(2)

Reviewers need to check :
1. If the above mapping is correct.
2. The content of the log is as before.

gpr_log format strings did not use string_view or std::string . absl LOG accepts these. So there will be some elimination of string_view and std::string related conversions. This is expected.

Closes #36548

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36548 from tanvi-jagtap:test_cpp_e2e_grpclb_clientlb_tjagtap 9f49be3401766a0d1e12be0eaa1695e117939bb7
PiperOrigin-RevId: 632020624
2024-05-08 21:21:04 -07:00
AJ Heller
87c42aab68 [test] Wait for EE to quiesce in RLSEnd2endTest teardown (#36553)
Closes #36553

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36553 from drfloob:cleaner-RlsEnd2endTest-shutdown f16b5aac3e5f73154a7944791de61dc050f05ec3
PiperOrigin-RevId: 631496415
2024-05-07 11:45:51 -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
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 30edc04c0ff20159a0d2726b4c791bba4cdd5fc0
PiperOrigin-RevId: 629776917
2024-05-01 11:16:02 -07:00
Mark D. Roth
0944410d6c [reorg] move test/core/util -> test/core/test_util (#36446)
Closes #36446

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36446 from markdroth:reorg_test 5dcc85e006581a8fc52a3a914baa5f33e4a21589
PiperOrigin-RevId: 629229220
2024-04-29 17:06:40 -07:00
Tanvi Jagtap
4f8b8aef83 [grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging GPR_ASSERT (#36406)
[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 #36406

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36406 from tanvi-jagtap:tjagtap_cpp_end2end b3412dc2183841902afbb42d16c0b587e580e1e6
PiperOrigin-RevId: 627602203
2024-04-23 21:47:35 -07:00
Yash Tibrewal
a1ec7bea08 Revert "ssl: More comprehensive testing of SSL credentials, part 1. (… (#36419)
…#35433)"

This reverts commit 40d1776e07.

Closes #36419

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36419 from yashykt:Revert35433 90cfbe422973457b3d2021323ce6c941c4520ce8
PiperOrigin-RevId: 627083350
2024-04-22 10:36:18 -07:00
Yijie Ma
ba78e4ff47 [test] Wait for RecordEnd in FakeClientCallAttemptTracer destruction (#36396)
<!--

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

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36396 from yijiem:xds-cluster-end2end-test-twin 26062ea1b4584d4408cc274d96b90a37fab5c70b
PiperOrigin-RevId: 626207011
2024-04-18 18:10:14 -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 a44a2992736c2c45c044452ec892e6ac4d173b7b
PiperOrigin-RevId: 625425746
2024-04-17 01:21:29 +00:00
Matthew Stevenson
40d1776e07 ssl: More comprehensive testing of SSL credentials, part 1. (#35433)
First of several PRs to improve the e2e testing for the SSL credentials API.

Closes #35433

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35433 from matthewstevenson88:more-ssl-testing 2a0db7624eff02d292d9d247b635c9a614e6fc18
PiperOrigin-RevId: 625326074
2024-04-16 07:38:12 -07:00
Mark D. Roth
bfe6db2924 [XdsClient] add grpc.xds_client.server_failure metric (#36291)
As per gRFC A78 (https://github.com/grpc/proposal/pull/419).

Closes #36291

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36291 from markdroth:xds_client_counter a9363c2105e1c866d0fe2c34aca84130325b02ee
PiperOrigin-RevId: 623935691
2024-04-11 14:14:11 -07:00
Mark D. Roth
696d644bcf [pick_first] avoid retaining unneeded memory after selecting subchannel (#34766)
The pick_first policy creates a list of subchannels for each resolver update and then iterates over the list, attempting to connect to each subchannel in turn, until one of them succeeds.  However, once a subchannel does succeed, the policy unrefs the other subchannels but still retains a bunch of now-unnecessary state in the subchannel list itself.  This wastes a bunch of memory, especially now that petiole policies are delegating to pick_first.  This PR contains a new pick_first implementation that stops retaining that state, which significantly reduces per-channel memory.

There is one behavior change here, which is that if we have a connected subchannel and we get a resolver update that no longer includes that address, we now go IDLE instead of proactively trying to connect to the new addresses.

Closes #34766

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/34766 from markdroth:pick_first_free_memory_after_connecting 7236b4321fe6c9b00bdf4936dc3994988cd12081
PiperOrigin-RevId: 623887639
2024-04-11 11:36:27 -07:00
Tanvi Jagtap
a10a8c6c0e [grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging GPR_ASERT (#36224)
[grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging GPR_ASSERT
Replacing GPR_ASSERT with absl CHECK

Will not be replacing CHECK with CHECK_EQ , CHECK_NE etc because there are too many callsites. Only a few - which fit into single - line regex will be changed. This would be small in number just to reduce the load later.

Replacing CHECK with CHECK_EQ , CHECK_NE etc could be done using Cider-V once these changes are submitted if we want to clean up later. 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 #36224

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36224 from tanvi-jagtap:assert_end2end_general 0b0e940f5dbb27b1807f7160f523ce86a87db3cf
PiperOrigin-RevId: 623410297
2024-04-10 01:18:20 -07:00
Tanvi Jagtap
dfa801726b [grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging GPR_ASSERT (#36268)
[grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging GPR_ASSERT
Replacing GPR_ASSERT with absl CHECK

Will not be replacing CHECK with CHECK_EQ , CHECK_NE etc because there are too many callsites. Only a few - which fit into single - line regex will be changed. This would be small in number just to reduce the load later.

Replacing CHECK with CHECK_EQ , CHECK_NE etc could be done using Cider-V once these changes are submitted if we want to clean up later. 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 #36268

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36268 from tanvi-jagtap:tjagtap_grpc_assert_end2end_xds d9d072c7721d169bcb3e566522552e54c53b6ba0
PiperOrigin-RevId: 623360481
2024-04-09 20:44:57 -07: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 4871c0b316e1a67ee63b4da12c1f5e65b9ca20b7
PiperOrigin-RevId: 623211613
2024-04-09 10:38:01 -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
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 c5390c99a11c854bb15bb86434d38ec7329719e8
PiperOrigin-RevId: 622973959
2024-04-08 15:52:59 -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 f07bebe289b334b0dbf090bc67264e77c0821e9d
PiperOrigin-RevId: 621879911
2024-04-04 09:20:02 -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 fd64d59c23a78bd9cfd889d9aff3fbd135fc78b3
PiperOrigin-RevId: 621008166
2024-04-01 18:12:59 -07:00
apolcyn
d1287ad07a [build] create xds_end2end_test_lib visibility tag (#36187)
As title

Closes #36187

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36187 from apolcyn:vis_tag 6ce3930e3f253d28057072f76cc09e9eb01786e8
PiperOrigin-RevId: 619955425
2024-03-28 17:36:49 +00:00
Yash Tibrewal
95c4f32b23 [RegisteredMethod] Remove experiment (#36181)
Closes #36181

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36181 from yashykt:RemoveRegisteredMethodLookupInTransport 3709bfa1cfec4ed95073a9788cf05a8eb14bd50e
PiperOrigin-RevId: 619695276
2024-03-28 17:34:39 +00: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 c1d9b464bf6249aa8ed6bc1a46142a9b09c2bf01
PiperOrigin-RevId: 617320495
2024-03-19 16:00:32 -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 508dd1370d85d84a52ac84c65525a0ed1ab8d4aa
PiperOrigin-RevId: 616280898
2024-03-15 17:00:57 -07:00
Vignesh Babu
9ed686902e [chttp2-server] Handle error cases correctly when limiting number of accepted connections (#36101)
Closes #36101

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36101 from Vignesh2208:server-fix 41d6992b5c3c1690df7fe1db883adb7f6d3dbd57
PiperOrigin-RevId: 615480491
2024-03-13 11:12:21 -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 438b29df5ca83c0020f05cb437369720622ed752
PiperOrigin-RevId: 615208297
2024-03-12 16:26:41 -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 8ebf7e1c064f2d5215f967d47cc1493cbbf12049
PiperOrigin-RevId: 615150672
2024-03-12 13:24:08 -07:00