]> git.feebdaed.xyz Git - 0xmirror/grpc.git/log
0xmirror/grpc.git
4 weeks ago[PH2][Settings][Refactor] Step 4 : Rename
Tanvi Jagtap [Fri, 28 Nov 2025 11:23:28 +0000 (03:23 -0800)]
[PH2][Settings][Refactor] Step 4 : Rename
Step 1 : https://github.com/grpc/grpc/pull/41103
Step 2, 3 : WIP
Step 4 : (This PR)
Rename variables and functions to ensure that the common confusion between SENT and RECEIVED settings is not there. The current structure and naming makes it hard to differentiate. We really have wasted a LOT of time here.

PiperOrigin-RevId: 837785968

4 weeks ago[build] Test fix (#41146)
Craig Tiller [Fri, 28 Nov 2025 10:04:07 +0000 (02:04 -0800)]
[build] Test fix (#41146)

<!--

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

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41146 from ctiller:sn ef53a47393f05823090781d9bcaa9185d465e68b
PiperOrigin-RevId: 837767346

4 weeks ago[PH2][Trivial] Disable some tests
Tanvi Jagtap [Fri, 28 Nov 2025 05:16:39 +0000 (21:16 -0800)]
[PH2][Trivial] Disable some tests

PiperOrigin-RevId: 837698567

4 weeks agoAdd call inspection to channelz
Craig Tiller [Thu, 27 Nov 2025 22:25:13 +0000 (14:25 -0800)]
Add call inspection to channelz

Add a new config to enable active call inspection with channelz, disabled by default. Plumb through promise_based_filter, call-v3.

PiperOrigin-RevId: 837614415

4 weeks ago[Python] Disable layering check in grpc_tools:protoc_lib (#41142)
Sreenithi Sridharan [Thu, 27 Nov 2025 13:18:39 +0000 (05:18 -0800)]
[Python] Disable layering check in grpc_tools:protoc_lib (#41142)

Python Bazel tests have been failing since yesterday after layering check was enabled in grpcio_tools build in commit: https://github.com/grpc/grpc/commit/756389e9e75ba93d7316ef9eae2ca83126ad9f94

Temporarily disabling it after discussing IRL with @rishesh007

Closes #41142

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41142 from sreenithi:temp_fix_python_bazel_test 751c420bf3a27066d6cdd912e0e08e9c0acaebb8
PiperOrigin-RevId: 837494537

4 weeks ago[PH2][Trivial] Disabled cancel suite and remove logging
Tanvi Jagtap [Thu, 27 Nov 2025 10:14:06 +0000 (02:14 -0800)]
[PH2][Trivial] Disabled cancel suite and remove logging

PiperOrigin-RevId: 837447558

4 weeks ago[PH2][Settings][Refactor]
Tanvi Jagtap [Thu, 27 Nov 2025 04:54:29 +0000 (20:54 -0800)]
[PH2][Settings][Refactor]

Initial Design :
```
class Http2ClientTransport {
    private :

PendingIncomingSettings object1;
SettingsTimeoutManager object2;
Http2SettingsManager object3;

    public :

void TypicalTransportFunction(){
    ... other non-settings work ...
object1.DetailedWork1();
object2.DetailedWork2();
object3.DetailedWork3();
    ... other non-settings work ...
}
};
```

New Design

```
class Http2ClientTransport{
SettingsPromiseManager settings_manager_;

void TypicalTransportFunction(){
    ... other non-settings work ...
settings_manager_.SomeWork();
    ... other non-settings work ...
}
};

class SettingsPromiseManager{
Http2SettingsManager settings_;

void SomeWork(){
DetailedWork1();
DetailedWork2();
settings_.DetailedWork3();
}

private :
DetailedWork1();
DetailedWork2();
}
```

Refactor Step 1
1. Merge class `SettingsTimeoutManager` and `PendingIncomingSettings` into a new class named `SettingsPromiseManager`
2. Replace usage of `PendingIncomingSettings` and `SettingsTimeoutManager` with usage of `SettingsPromiseManager`
3. Replace `pending_incoming_settings_` with `transport_settings_`

Future Steps
1. Step 2 : Move object of `Http2SettingsManager` class into `SettingsPromiseManager` and the `Http2ClientTransport` will use  `Http2SettingsManager` via `SettingsPromiseManager`
2. Step 3 : Earlier the `Http2ClientTransport` class had interactions between `Http2SettingsManager` `SettingsTimeoutManager` and `PendingIncomingSettings` in the transport. Move this into our new `SettingsPromiseManager` class. This will make the transport lean. This PR will need careful review to the business logic. This will also make multiple permutations of settings very easily testable and debuggable.
3. Step 4 : Rename variables and functions to ensure that the common confusion between SENT and RECEIVED settings is not there. The current structure and naming makes it hard to differentiate. We really have wasted a LOT of time here.
4. Step 5 : Write unit tests for `SettingsPromiseManager` class, modelling scenarios similar to how the transport will be using the settings. Also add missing tests to `Http2SettingsManager` if needed.

PiperOrigin-RevId: 837359318

4 weeks ago[PH2][E2E] E2E . Multiple Changes
Tanvi Jagtap [Thu, 27 Nov 2025 04:26:24 +0000 (20:26 -0800)]
[PH2][E2E] E2E . Multiple Changes
1. Enable logging for 2 flaking HPack tests
2. Writing a new function which will enable logging for PH2 for flaking tests
3. Splitting the CANCEL and DEADLINE test suites so that these can be switched on and off separately.

PiperOrigin-RevId: 837349917

4 weeks ago[Ph2][E2E] Logs to debug a flake
Akshit Patel [Thu, 27 Nov 2025 04:14:26 +0000 (20:14 -0800)]
[Ph2][E2E] Logs to debug a flake

PiperOrigin-RevId: 837347558

4 weeks agoremove default_applicable_licenses to tools/codegen BUILD files.
Rishesh Agarwal [Wed, 26 Nov 2025 12:31:59 +0000 (04:31 -0800)]
remove default_applicable_licenses to tools/codegen BUILD files.

PiperOrigin-RevId: 837063317

4 weeks agoAdding layering_check and parse_headers in each bazel codegen build file
Rishesh Agarwal [Wed, 26 Nov 2025 09:07:12 +0000 (01:07 -0800)]
Adding layering_check and parse_headers in each bazel codegen build file

PiperOrigin-RevId: 837002393

4 weeks ago[PH2][E2E] Add logs to debug a flake
Akshit Patel [Wed, 26 Nov 2025 06:21:31 +0000 (22:21 -0800)]
[PH2][E2E] Add logs to debug a flake

PiperOrigin-RevId: 836947917

4 weeks agoAdding layering_check and parse_headers in each bazel distrib python build file
Rishesh Agarwal [Wed, 26 Nov 2025 05:32:25 +0000 (21:32 -0800)]
Adding layering_check and parse_headers in each bazel distrib python build file

PiperOrigin-RevId: 836934818

4 weeks ago[PH2][Trivial] Enabling cancel test suite
Tanvi Jagtap [Wed, 26 Nov 2025 03:11:46 +0000 (19:11 -0800)]
[PH2][Trivial] Enabling cancel test suite

PiperOrigin-RevId: 836893540

4 weeks ago[PH2][E2E] Fix channelZ AddData race with transport deletion.
Akshit Patel [Wed, 26 Nov 2025 02:42:51 +0000 (18:42 -0800)]
[PH2][E2E] Fix channelZ AddData race with transport deletion.

This CL moves `SourceDestructing` from the destructor to `Orphan`. It is possible that `AddData` call tries to take a ref on the transport while the transport is being destructed (before `SourceDestructing` is invoked). Calling `SourceDestructing` from `Orphan` ensures that `AddData` is not called after dropping the external transport ref.

PiperOrigin-RevId: 836886988

4 weeks ago[PH2][Settings] Multiple changes
Tanvi Jagtap [Wed, 26 Nov 2025 02:02:43 +0000 (18:02 -0800)]
[PH2][Settings] Multiple changes
1. Complete the ProcessHttp2SettingsFrame function
2. Applying the incoming settings in the MultiplexerLoop and sending an ACK for incoming settings
3. Managing initial window size settings for acked settings (this was missed in previous PR).
4. Decoupling ApplyIncomingSettings from OnSettingsReceived

PiperOrigin-RevId: 836876453

4 weeks ago[PH2][Bug] Move transport loop spawning out of the constructor
Tanvi Jagtap [Tue, 25 Nov 2025 15:37:06 +0000 (07:37 -0800)]
[PH2][Bug] Move transport loop spawning out of the constructor

Spawning transport loops from the Http2ClientTransport constructor creates a race condition. An initialization error can trigger a shutdown, causing the transport to be destroyed from within its own constructor.

This CL moves the loop-spawning logic to a new public method, SpawnTransportLoops(). The Chtttp2Connector now calls this method after the transport is fully constructed. This ensures a clean separation between object construction and the start of asynchronous operations, preventing premature closure and potential bugs.

PiperOrigin-RevId: 836663966

4 weeks agoAdd support to export Instrument -> OpenTelemetry UpDownCounters.
Aananth V [Tue, 25 Nov 2025 13:47:36 +0000 (05:47 -0800)]
Add support to export Instrument -> OpenTelemetry UpDownCounters.

PiperOrigin-RevId: 836631446

4 weeks ago[PH2][Settings] Making the Settings class Ref Counted
Tanvi Jagtap [Tue, 25 Nov 2025 10:02:47 +0000 (02:02 -0800)]
[PH2][Settings] Making the Settings class Ref Counted

PiperOrigin-RevId: 836568012

4 weeks agoAdding layering_check and parse_headers in each bazel build file
Rishesh Agarwal [Tue, 25 Nov 2025 08:54:02 +0000 (00:54 -0800)]
Adding layering_check and parse_headers in each bazel build file

PiperOrigin-RevId: 836547244

4 weeks ago[PH2][Trivial][Log] Adding logs to connector code
Tanvi Jagtap [Tue, 25 Nov 2025 07:06:19 +0000 (23:06 -0800)]
[PH2][Trivial][Log] Adding logs to connector code

PiperOrigin-RevId: 836516794

4 weeks ago[Resource Quota] Initiate experiment to track allocations under zero copy in Resource...
siddharth nohria [Tue, 25 Nov 2025 05:40:24 +0000 (21:40 -0800)]
[Resource Quota] Initiate experiment to track allocations under zero copy in Resource … (#41109)

Closes #41109

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41109 from siddharthnohria:exp 7878b3cf84635b3923d7df5fc525d4d92410ea37
PiperOrigin-RevId: 836492146

4 weeks agoAdd missing dependency to stream_quota_test.
Siddharth Nohria [Tue, 25 Nov 2025 03:53:57 +0000 (19:53 -0800)]
Add missing dependency to stream_quota_test.

PiperOrigin-RevId: 836458457

4 weeks ago[PH2][Trivial] Disable flakes
Tanvi Jagtap [Mon, 24 Nov 2025 11:53:19 +0000 (03:53 -0800)]
[PH2][Trivial] Disable flakes

PiperOrigin-RevId: 836157874

4 weeks ago[PH2][E2E] Fix race condition in Http2ClientTransport when pushing server trailing...
Akshit Patel [Mon, 24 Nov 2025 04:31:02 +0000 (20:31 -0800)]
[PH2][E2E] Fix race condition in Http2ClientTransport when pushing server trailing metadata.

PiperOrigin-RevId: 836040628

5 weeks ago[PH2][Bug] Was tracing in the wrong place.
Tanvi Jagtap [Sat, 22 Nov 2025 07:30:18 +0000 (23:30 -0800)]
[PH2][Bug] Was tracing in the wrong place.

PiperOrigin-RevId: 835499454

5 weeks ago[PH2][Settings] MaybeSpawnWaitForSettingsTimeout
Tanvi Jagtap [Fri, 21 Nov 2025 09:34:31 +0000 (01:34 -0800)]
[PH2][Settings] MaybeSpawnWaitForSettingsTimeout

This PR takes care of
1. Sending a SETTINGS frame to the peer.
2. Starting a timer to wait for the ACK
3. Processing the SETTINGS ACK received from the peer.

This does NOT include sending a SETTINGS ACK or processing a received SETTING frame.

Changes :
1. Renamed functions MarkPeerSettingsResolved to MarkPeerSettingsPromiseResolved. And renamed SpawnWaitForSettingsTimeout to MaybeSpawnWaitForSettingsTimeout
2. Moved all functions to the cc file
3. Added an if check to MaybeSpawnWaitForSettingsTimeout to prevent incorrect spawning when no settings has been sent.
4. Some plumbing.
PiperOrigin-RevId: 835120786

5 weeks ago[PH2][E2E] Enable logs to debug a flake
Akshit Patel [Fri, 21 Nov 2025 01:47:48 +0000 (17:47 -0800)]
[PH2][E2E] Enable logs to debug a flake

PiperOrigin-RevId: 834980764

5 weeks ago[PH2] Handle unknown stream IDs. This CL addresses the following:
Akshit Patel [Thu, 20 Nov 2025 08:42:52 +0000 (00:42 -0800)]
[PH2] Handle unknown stream IDs. This CL addresses the following:
1. On getting a HEADER/CONTINUATION/DATA/Window Update frame with a stream ID that is not expected will now be treated as a connection error based on the RFC.

PiperOrigin-RevId: 834636478

5 weeks ago[PH2][Refactor] Moving repeated code into a function in HTTP2Status file
Tanvi Jagtap [Thu, 20 Nov 2025 08:09:46 +0000 (00:09 -0800)]
[PH2][Refactor] Moving repeated code into a function in HTTP2Status file

PiperOrigin-RevId: 834627981

5 weeks agoUpdate dart interop Dockerfile (#41090)
Alexander Thomas [Wed, 19 Nov 2025 23:47:45 +0000 (15:47 -0800)]
Update dart interop Dockerfile (#41090)

<!--

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

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41090 from athomas:patch-1 b691ea897456c182a4d0385b8b46fb85c24c0928
PiperOrigin-RevId: 834474588

5 weeks ago[PH2][Common][Refactor] IncomingMetadataTracker
Tanvi Jagtap [Wed, 19 Nov 2025 11:30:58 +0000 (03:30 -0800)]
[PH2][Common][Refactor] IncomingMetadataTracker
1. Moving out incoming header state and management into class IncomingMetadataTracker
2. Fixing bug in CloseStream. The state should not be altered in this case .
3. Two parameters to function ParseAndDiscardHeaders were actually data members. So I removed them. ParseAndDiscardHeaders will access the data members directly.
4. Fixing clangs issues.
5. Moving helpers from header_assembler_test into the common test class.

PiperOrigin-RevId: 834216422

5 weeks agoSet security protocol type in AuthContext.
Aananth V [Wed, 19 Nov 2025 08:09:18 +0000 (00:09 -0800)]
Set security protocol type in AuthContext.

The Injectable Peer Comparison API added in https://github.com/grpc/grpc/pull/39610 uses the `protocol_` field of the `grpc_auth_context` to 1) Lookup the registered comparators, and 2) Perform an initial comparison to ensure that the two compared auth contexts have the same protocol. However, this field is currently unset for all types of credentials.

This change populates the `protocol` field in `grpc_auth_context` with the name of the security connector type after the peer check in the security handshaker. E2E Tests are updated to verify that the `AuthContext` contains the correct protocol type.

PiperOrigin-RevId: 834155283

5 weeks agoKeep sleuth binary target name
Yousuk Seung [Tue, 18 Nov 2025 22:55:47 +0000 (14:55 -0800)]
Keep sleuth binary target name

PiperOrigin-RevId: 833982212

5 weeks agoIntroduce UpDownCounter instrument type.
Aananth V [Tue, 18 Nov 2025 08:19:54 +0000 (00:19 -0800)]
Introduce UpDownCounter instrument type.

This change adds a new instrument type, `UpDownCounter`, to the gRPC telemetry system. Unlike a standard `Counter`, an `UpDownCounter` can be incremented and decremented. It can be thought of as a UInt Gauge that is stored rather than being queried when the MetricsQuery is run.

PiperOrigin-RevId: 833686033

5 weeks ago[benchmark]
Akshit Patel [Tue, 18 Nov 2025 06:25:52 +0000 (22:25 -0800)]
[benchmark]

PiperOrigin-RevId: 833652476

5 weeks ago[subchannel connector] pass initial MAX_CONCURRENT_STREAMS value from connector ...
Mark D. Roth [Tue, 18 Nov 2025 05:09:26 +0000 (21:09 -0800)]
[subchannel connector] pass initial MAX_CONCURRENT_STREAMS value from connector (#41064)

This is needed for A105 (https://github.com/grpc/proposal/pull/516).

The subchannel will wind up getting the transport's MAX_CONCURRENT_STREAMS value via the new StateWatcher API that I added in #40952.  However, because the subchannel does not start that watch until after it has a connection and reports READY to the LB policy, this means that RPCs can start on the subchannel before the subchannel knows the transport's MAX_CONCURRENT_STREAMS value.  This can cause us to incorrectly scale up the number of connections when we shouldn't.

To avoid that race, this PR changes the notify_on_receive_settings hook to pass the transport's initial MAX_CONCURRENT_STREAMS value back to the connector, which in turn passes it back to the subchannel.  This will allow the subchannel to use that initial value when dispatching RPCs until it receives the first notification from the StateWatcher.

I would ideally like to completely remove this bespoke notify_on_receive_settings hook and instead have the connector use the new StateWatcher API, but that would require a bit more refactoring work than I want to do right now.

Closes #41064

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41064 from markdroth:transport_initial_max_concurrent_streams 41a93a7629e97e2828df3f3c087ebb7cba43e043
PiperOrigin-RevId: 833631154

5 weeks agofix: Add missing includes in native_windows_dns_resolver (#41068)
Laramie Leavitt [Mon, 17 Nov 2025 23:04:49 +0000 (15:04 -0800)]
fix: Add missing includes in native_windows_dns_resolver (#41068)

This adds a couple missing includes and build dependencies

Closes #41068

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41068 from laramiel:laramiel-patch-2 ed2dbb17a0a394189603435257ba913701c720bf
PiperOrigin-RevId: 833511045

5 weeks ago[zviz] Expand pagination api to include the first next id
Craig Tiller [Mon, 17 Nov 2025 17:34:09 +0000 (09:34 -0800)]
[zviz] Expand pagination api to include the first next id

PiperOrigin-RevId: 833375193

5 weeks agoServer Wide Max Outstanding Streams: Add Build changes (#41076)
siddharth nohria [Mon, 17 Nov 2025 08:14:37 +0000 (00:14 -0800)]
Server Wide Max Outstanding Streams: Add Build changes (#41076)

Allow servers to set max outstanding streams limit per server. This pull request only adds the BUILD changes required for this. The core logic will follow in a later PR.

Closes #41076

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41076 from siddharthnohria:max_outstanding_streams 392d962fc78be66c075952977bc3a28f2298b7ce
PiperOrigin-RevId: 833196338

5 weeks agoObtain a DomainStorage Ref while running MetricsQuery
Aananth V [Mon, 17 Nov 2025 07:04:58 +0000 (23:04 -0800)]
Obtain a DomainStorage Ref while running MetricsQuery

In the current implementation, the DomainStorage can be deleted when the query is running. This leads to NPEs.

PiperOrigin-RevId: 833177932

6 weeks ago[Call] Skip clearing peer string during call cancellation (#41062)
Vignesh Babu [Fri, 14 Nov 2025 22:39:11 +0000 (14:39 -0800)]
[Call] Skip clearing peer string during call cancellation (#41062)

Potential fix for b/428185413

Closes #41062

PiperOrigin-RevId: 832462330

6 weeks ago[Bazel] Fixes the issue of copt cache discarded between test and build (#41038)
Sergii Tkachenko [Fri, 14 Nov 2025 17:05:42 +0000 (09:05 -0800)]
[Bazel] Fixes the issue of copt cache discarded between test and build (#41038)

This solves the issue with with copt cache dropped between `bazel build` and `bazel test`:

```
WARNING: Build option --copt has changed, discarding analysis cache.
```

This issue was introduced in #39945, which added `--copt=-DGRPC_POSTMORTEM_CHECKS` unconditionally to all `basel test`, but not `build`:

https://github.com/grpc/grpc/blob/1d6841f7d83881a7cfe63b25219d81de2abf8653/tools/bazel.rc#L155-L156

This PR moves the macro to a separate bazel profile config called `postmortem`, which is not enabled by default.
Instead, this config will be enabled in all remote CIs via tools/remote_build/include/test_config_common.bazelrc: https://github.com/grpc/grpc/blob/ba4984e8a0d21270a6cfc0481efd2de1595601d9/tools/remote_build/include/test_config_common.bazelrc#L26-L27

For the list of affected CI jobs, see my comment on this PR.

Closes #41038

PiperOrigin-RevId: 832339240

6 weeks ago[ruby] Fix version comparison for the ruby_abi_version symbol for ruby 4 compatibilit...
Niraj Nepal [Fri, 14 Nov 2025 12:42:09 +0000 (04:42 -0800)]
[ruby] Fix version comparison for the ruby_abi_version symbol for ruby 4 compatibility (#41061)

The next version of Ruby will be 4.0.0. Previously, development versions didn't load properly due to grpc.so not exporting the ruby_abi_version symbol. Correct the version comparison logic so we export the symbol on version 4.0.

Closes #41061

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41061 from zarinn3pal:fix/ruby-abi-version d01b2cf13be16a83f81aaa36319d04899df457eb
PiperOrigin-RevId: 832265298

6 weeks ago[PH2][BUILD] Adding dependencies (#41070)
Tanvi Jagtap - Google LLC [Fri, 14 Nov 2025 07:38:35 +0000 (23:38 -0800)]
[PH2][BUILD] Adding dependencies (#41070)

[PH2][BUILD] Adding dependencies

Closes #41070

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41070 from tanvi-jagtap:new_file_010 8a0630e5c7ab89583440f4c87f8b91aac8c24ec9
PiperOrigin-RevId: 832181048

6 weeks ago[PH2][BUILD] Adding new file for IncomingMetadataTracker (#41058)
Tanvi Jagtap - Google LLC [Fri, 14 Nov 2025 04:40:17 +0000 (20:40 -0800)]
[PH2][BUILD] Adding new file for IncomingMetadataTracker (#41058)

[PH2][BUILD] Adding new file for IncomingMetadataTracker

Closes #41058

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41058 from tanvi-jagtap:new_files 6c0da18b7c8980d6ab133cb8e543e6ad13e5d69d
PiperOrigin-RevId: 832130354

6 weeks ago[transport] add new watcher API to be used by subchannel (#40952)
Mark D. Roth [Fri, 14 Nov 2025 01:25:24 +0000 (17:25 -0800)]
[transport] add new watcher API to be used by subchannel (#40952)

This adds a new transport state watcher API.  The normal connectivity state watcher API is not what we really want in the transport, since we don't expect to see any state-change event except for disconnection, and when that happens, we want to see a lot more info about the disconnection than is available via a connectivity state watch (see [gRFC A94](https://github.com/grpc/proposal/blob/master/A94-subchannel-otel-metrics.md)).  In addition, we also need to get reports of the peer's MAX_CONCURRENT_STREAMS setting as part of implementing connection scaling (see WIP [gRFC A105](https://github.com/grpc/proposal/pull/516)).

This new API goes directly from the subchannel to the transport, bypassing the filter stack.  This is consistent with our desire to remove the transport op API in the filter stack as part the promise migration.

Eventually, this API should be used on the server side too, but that's a project for another day.

As part of this, we also change the way that keepalive data is sent from the subchannel to the channel.  This will also be needed as part of A105, where we need to propagate keepalive info to the channel even when the subchannel's connectivity state does not change.

Closes #40952

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/40952 from markdroth:transport_state_watcher 2dca54560718ffe82e542e58f4de18164087f891
PiperOrigin-RevId: 832072178

6 weeks agoRefactor `proto_reflection_descriptor_database` in util to use `absl::flat_hash_map...
Atan Bhardwaj [Thu, 13 Nov 2025 03:33:10 +0000 (19:33 -0800)]
Refactor `proto_reflection_descriptor_database` in util to use `absl::flat_hash_map` and `absl::flat_hash_set` instead of `std::unordered_map` and `std::unordered_set` for potential performance improvements. This also involves including the necessary absl headers and updating the `BUILD` file.

Replace `.insert()` with `.emplace()` for `missing_symbols_` in
`proto_reflection_descriptor_database.cc.`

PiperOrigin-RevId: 831644658

6 weeks ago[PH2] Addressing comments from PR:#41012.
Akshit Patel [Thu, 13 Nov 2025 03:29:19 +0000 (19:29 -0800)]
[PH2] Addressing comments from PR:#41012.

PiperOrigin-RevId: 831643529

6 weeks ago[github] fix path to generated file (#41054)
Mark D. Roth [Thu, 13 Nov 2025 01:40:58 +0000 (17:40 -0800)]
[github] fix path to generated file (#41054)

I missed this in #38825.

6 weeks ago[CI] Add a github workflow for publishing to bcr. (#41027)
yuanweiz [Wed, 12 Nov 2025 22:22:47 +0000 (14:22 -0800)]
[CI] Add a github workflow for publishing to bcr. (#41027)

Based on https://github.com/bazel-contrib/publish-to-bcr.

---------

Co-authored-by: Sergii Tkachenko <sergiitk@google.com>
6 weeks ago[PH2][Validation] Connection error for invalid window updates
Tanvi Jagtap [Wed, 12 Nov 2025 10:09:17 +0000 (02:09 -0800)]
[PH2][Validation] Connection error for invalid window updates
This is consistent with CHTTP2 behaviour.

PiperOrigin-RevId: 831288758

6 weeks ago[PH2] Partially process HTTP2 HEADER/CONTINUATION frames.
Akshit Patel [Wed, 12 Nov 2025 07:00:19 +0000 (23:00 -0800)]
[PH2] Partially process HTTP2 HEADER/CONTINUATION frames.

PiperOrigin-RevId: 831229496

6 weeks ago[CI] Make typing_extensions work in bzlmod. (#41025)
yuanweiz [Tue, 11 Nov 2025 21:13:01 +0000 (13:13 -0800)]
[CI] Make typing_extensions work in bzlmod. (#41025)

Smoke test:

```
bazel build --enable_bzlmod=true --enable_workspace=false //src/python/grpcio/grpc:server
```

Closes #41025

PiperOrigin-RevId: 831041283

6 weeks ago[client channel] service config plumbing for max_connections_per_subchannel (#41030)
Mark D. Roth [Tue, 11 Nov 2025 20:19:54 +0000 (12:19 -0800)]
[client channel] service config plumbing for max_connections_per_subchannel (#41030)

Part of gRFC A105 (https://github.com/grpc/proposal/pull/516).

Closes #41030

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41030 from markdroth:connection_scaling_service_config 6b32269fabb735694370494fd64e17ec92b462a2
PiperOrigin-RevId: 831020755

6 weeks agoadding address_sorting dep in naming test build (#41045)
Rishesh Agarwal [Tue, 11 Nov 2025 11:24:32 +0000 (03:24 -0800)]
adding address_sorting dep in naming test build (#41045)

Closes #41045

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41045 from rishesh007:add_dep_generate_resolver_component_tests 941f43f91d10ef599f16a82dfec1b3bb3f2dbe0a
PiperOrigin-RevId: 830835034

6 weeks agoAdding layering_check and parse_headers in each bazel build file
Rishesh Agarwal [Tue, 11 Nov 2025 08:20:50 +0000 (00:20 -0800)]
Adding layering_check and parse_headers in each bazel build file

PiperOrigin-RevId: 830781168

6 weeks ago[PH2][Settings] Adding new settings API MaybeSendAck
Tanvi Jagtap [Tue, 11 Nov 2025 06:27:38 +0000 (22:27 -0800)]
[PH2][Settings] Adding new settings API MaybeSendAck

PiperOrigin-RevId: 830749562

6 weeks ago[PH2][AI] Adding instructions
Tanvi Jagtap [Tue, 11 Nov 2025 06:07:37 +0000 (22:07 -0800)]
[PH2][AI] Adding instructions

PiperOrigin-RevId: 830744461

6 weeks ago[subchannel] remove no-op code to remove channelz linkage (#41041)
Mark D. Roth [Tue, 11 Nov 2025 01:11:48 +0000 (17:11 -0800)]
[subchannel] remove no-op code to remove channelz linkage (#41041)

This code appears to be a no-op.  It removes the `Subchannel`'s channelz node as a parent of the `ConnectedSubchannel`'s channelz node when the `ConnectedSubchannel` becomes disconnected.  However, the `ConnectedSubchannel`'s channelz node [is exactly the same node as the `Subchannel`'s channelz node](https://github.com/grpc/grpc/blob/4a97f0950a5fbe422f8cc2965c3055fa2d70444e/src/core/client_channel/subchannel.cc#L842), so this is attempting to remove a node from its own parent list -- and it should never be present in its own parent list in the first place, so this will be a no-op.

This code was originally intended to remove the linkage between the subchannel node and the *socket* node (owned by the transport, not the `ConnectedSubchannel`) when the transport reports disconnection to the subchannel.  However, it looks like it was accidentally broken in c675ef88599d9a86684c68ff90cb5420b38f9703 (cl/786454401) as part of switching from recording children to recording parents.

Rather than fixing this, however, I think we should just remove this code.  The transport will report a "disconnection" to the subchannel when it receives a GOAWAY, but the connection will actually remain alive for a short time afterwards if there are still RPCs in flight on the connection, and I think we want channelz to show the connection as still being associated with the subchannel until it actually gets closed, since that provides useful context about where the connection came from.  (That behavior would have been hard to achieve when we were still recording children instead of parents.)

Note that the subchannel may wind up creating a new connection before the old connection is actually closed, but the channelz data model allows multiple sockets per subchannel for exactly this case.  Java and Go both keep the socket associated with the subchannel until it's closed, so this change makes the behavior consistent across languages.

Closes #41041

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41041 from markdroth:subchannel_channelz_cleanup 2181041a2a951c60d8e9521f83ba06008894ae17
PiperOrigin-RevId: 830658097

6 weeks agoFix github account name in bcr metadata template. (#41031)
yuanweiz [Mon, 10 Nov 2025 21:52:09 +0000 (13:52 -0800)]
Fix github account name in bcr metadata template. (#41031)

6 weeks agoRe-enable layering_check and parse_headers in grpc.
Rishesh Agarwal [Mon, 10 Nov 2025 06:34:49 +0000 (22:34 -0800)]
Re-enable layering_check and parse_headers in grpc.

PiperOrigin-RevId: 830276307

6 weeks agoAdding layering_check and parse_headers in each bazel build file
Rishesh Agarwal [Mon, 10 Nov 2025 06:10:13 +0000 (22:10 -0800)]
Adding layering_check and parse_headers in each bazel build file

PiperOrigin-RevId: 830269949

6 weeks ago[FixitGrpc][ExternalDeps] Removed `twisted` and `yaml`
Tanvi Jagtap [Mon, 10 Nov 2025 04:11:15 +0000 (20:11 -0800)]
[FixitGrpc][ExternalDeps] Removed `twisted` and `yaml`

PiperOrigin-RevId: 830242533

6 weeks ago[FixitGrpc][GPR_PUBLIC_HDRS]
Tanvi Jagtap [Mon, 10 Nov 2025 03:47:18 +0000 (19:47 -0800)]
[FixitGrpc][GPR_PUBLIC_HDRS]
Remove unwanted include.

PiperOrigin-RevId: 830235656

7 weeks ago[proto compiler] Upgrade protoc plugins to support protobuf edition 2024
Mike Kruskal [Sat, 8 Nov 2025 20:18:25 +0000 (12:18 -0800)]
[proto compiler] Upgrade protoc plugins to support protobuf edition 2024

PiperOrigin-RevId: 829866922

7 weeks ago[client channel] combine two subchannel data structures into one (#40880)
Mark D. Roth [Fri, 7 Nov 2025 23:40:13 +0000 (15:40 -0800)]
[client channel] combine two subchannel data structures into one (#40880)

Currently, the client channel maintains two different data structures for tracking subchannels:
- `subchannel_refcount_map_`, which tracks the number of subchannel wrappers per subchannel.  This is used to determine when to create and remove channelz node linkage.
- `subchannel_wrappers_`, which tracks the set of all subchannel wrappers across all subchannels.  This was originally introduced back in #20039 as part of propagating the health check service name to subchannels, but we switched to using a different approach for the health check service name in #26441.  However, in between those two, we started using this data structure for handling keepalive time in #23313 -- which is actually somewhat inefficient, since we may wind up setting the keepalive time on the underlying subchannel more than once in the case where there is more than one subchannel wrapper per subchannel (which happens frequently during updates).

This PR combines these two data structures into one: a map from subchannel to a set of subchannel wrappers for that subchannel.  This is used both for channelz node updates and keepalive propagation -- and it's more efficient for the latter, because we can now update each subchannel exactly once.

This also paves the way for a subsequent change that will be needed as part of the MAX_CONCURRENT_STREAMS design.

Closes #40880

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/40880 from markdroth:client_channel_combine_subchannel_maps f289c20f9a265f1a13b0d4742cd2cce34afb69f1
PiperOrigin-RevId: 829602334

7 weeks ago[core][credentials] share the common http token fetching logic between oauth2 and...
Luwei Ge [Fri, 7 Nov 2025 21:55:29 +0000 (13:55 -0800)]
[core][credentials] share the common http token fetching logic between oauth2 and jwt call creds (#40907)

Those two call creds only differ in how they parse the token from the HTTP response. So I changed the meaning of the  `on_done_` in the `FetchRequest` to also include the parsing logic and let each credentials prepare this callback that includes the parsing and the one given to the `FetchToken` call.

The HTTP response status handling of both credentials was switched to follow the `JwtTokenFetcherCredentials`, as that supports better retry behavior.

This approach inevitably changed a little bit the error msg the JWT token fetcher returns, but it should still provide useful info to the caller.

NOTE: This PR does not touch the `ExternalFetchRequest` in `external_account_credentials.h`. That type of credentials does not always making HTTP requests. It makes multiple hops to get the final token, so it introduced the `FetchBody` class. I find it challenging to unify all these three cases.

Closes #40907

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/40907 from rockspore:oauth2-creds c438a04db0b1d542121033c8c282af59dd309c32
PiperOrigin-RevId: 829566960

7 weeks ago[client channel] refactor v1 call buffering code (#40945)
Mark D. Roth [Fri, 7 Nov 2025 21:54:17 +0000 (13:54 -0800)]
[client channel] refactor v1 call buffering code (#40945)

This refactors the call buffering code for the v1 stack, which avoids some repetition between the resolver queue and the LB pick queue.  This code will also be used in the future in the subchannel as part of implementing the MAX_CONCURRENT_STREAMS design.

As part of this, I also eliminated the subclassing in the v1 client channel implementation, which has not been necessary since the v2 code was removed.

Closes #40945

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/40945 from markdroth:call_buffer_v1_refactoring 0a471be6ed862c3cc3225644fb2a3e1456e60fbf
PiperOrigin-RevId: 829566551

7 weeks agoAdding layering_check and parse_headers in each bazel build file
Rishesh Agarwal [Fri, 7 Nov 2025 19:23:35 +0000 (11:23 -0800)]
Adding layering_check and parse_headers in each bazel build file

PiperOrigin-RevId: 829512797

7 weeks ago[BCR] Update BCR maintainers in the metadata template. (#41024)
Sergii Tkachenko [Wed, 5 Nov 2025 20:08:16 +0000 (12:08 -0800)]
[BCR] Update BCR maintainers in the metadata template. (#41024)

Update the template used to export BCR releases. Fixes the issue
with emeritus owners getting pinged/assigned for BCR gRPC PRs.

Once this is merged, @yuanweiz will manually update corresponding
https://github.com/bazelbuild/bazel-central-registry/blob/1c61954df7e15bfbd03eef8accc7ae4e98ec548b/modules/grpc/metadata.json

- Offboard @veblush, @eugeneo, @hork, @yashkt, @apolcyn, @stanleycheung
- Add @yuanweiz, BCR integration owner
- Add @asheshvidyut, now owns Ruby and other wrapped languages

7 weeks agoReduce noisy logs (#41002)
Pawan Bhardwaj [Wed, 5 Nov 2025 17:56:08 +0000 (09:56 -0800)]
Reduce noisy logs (#41002)

Fixes : #40936

<!--

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

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41002 from pawbhard:fix_40936 4977da2789c9d83b5e71dad7f3e3fa72e70537b6
PiperOrigin-RevId: 828515322

7 weeks ago[PH2][Warnings] Cleaning clang Warnings
Tanvi Jagtap [Wed, 5 Nov 2025 09:49:05 +0000 (01:49 -0800)]
[PH2][Warnings] Cleaning clang Warnings

PiperOrigin-RevId: 828361947

7 weeks ago[PH2] Cleanup clang warnings
Akshit Patel [Wed, 5 Nov 2025 09:16:53 +0000 (01:16 -0800)]
[PH2] Cleanup clang warnings

PiperOrigin-RevId: 828349836

7 weeks ago[Resource Quota Write Tracking] Fetch client side memory allocator, and start trackin...
Siddharth Nohria [Wed, 5 Nov 2025 04:51:22 +0000 (20:51 -0800)]
[Resource Quota Write Tracking] Fetch client side memory allocator, and start tracking writes in Resource quota on the client side.

PiperOrigin-RevId: 828268805

7 weeks ago[PH2][Debugging][Logging] Adding logs
Tanvi Jagtap [Tue, 4 Nov 2025 14:48:38 +0000 (06:48 -0800)]
[PH2][Debugging][Logging] Adding logs
It is painful to debug http2_client_transport_test without these logs. Very hard to see which frames got serialized in which order.

PiperOrigin-RevId: 827951454

7 weeks agoFix tools typos (#38030)
Nathan Baulch [Tue, 4 Nov 2025 05:08:58 +0000 (21:08 -0800)]
Fix tools typos (#38030)

Continuation of #37541 but focused on tools.

FYI, typos are:
* atifacts
* building
* certern
* commadline
* dependences
* displayes
* docstinrg
* doesn
* faied
* ifle
* manylinx
* onveniently
* passthough
* reqistration
* slighly
* subsituding
* testca
* unices
* uniqifies

Closes #38030

PiperOrigin-RevId: 827772625

7 weeks ago[Python] Exclude test files in grpcio_tools wheels (#40999)
Sreenithi Sridharan [Tue, 4 Nov 2025 04:07:21 +0000 (20:07 -0800)]
[Python] Exclude test files in grpcio_tools wheels (#40999)

This PR removes some additional files that were included in the grpcio_tools package wheels after migrating to pyproject.toml build system in #40833

Closes #40999

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/40999 from sreenithi:fix_grpc_tools_wheels_2 a261b2160e3ddd34a5c0b74e6d84b2f8c1bda1cd
PiperOrigin-RevId: 827755815

7 weeks ago[Fix][Python] Increase timeout for linux distribtests jobs for release and master...
Sreenithi Sridharan [Mon, 3 Nov 2025 23:23:41 +0000 (15:23 -0800)]
[Fix][Python] Increase timeout for linux distribtests jobs for release and master branch (#41000)

The newly migrated pyproject.toml build system (in #40833) seems to have much slower build times compared to the previous setup.py builds. This difference has also been noted by few users ([Ref1](https://github.com/pypa/pip/issues/7294), [Ref2](https://zameermanji.com/blog/2021/6/14/building-wheels-with-pip-is-getting-slower/)) most likely due to the overhead of creating isolated build environments for each build.

Some new runtimes for each variant target noted from different recent runs below:
```
2025-11-01 10:19:02,937 PASSED: build_artifact.python_musllinux_1_2_x86_cp312-cp312 [time=4267.1sec, retries=0:0]
2025-11-01 10:19:05,501 PASSED: build_artifact.python_musllinux_1_2_x86_cp311-cp311 [time=4269.7sec, retries=0:0]
2025-11-01 10:19:07,152 PASSED: build_artifact.python_musllinux_1_2_x86_cp310-cp310 [time=4287.0sec, retries=0:0]

2025-11-01 11:43:22,269 PASSED: build_artifact.python_manylinux2014_x86_cp312-cp312 [time=4644.4sec, retries=0:0]
2025-11-01 11:43:37,257 PASSED: build_artifact.python_manylinux2014_x86_cp314-cp314 [time=4659.4sec, retries=0:0]
2025-11-01 11:43:37,525 PASSED: build_artifact.python_manylinux2014_x86_cp311-cp311 [time=4659.7sec, retries=0:0]
2025-11-01 11:43:40,671 PASSED: build_artifact.python_manylinux2014_x86_cp310-cp310 [time=4662.8sec, retries=0:0]
2025-11-01 11:43:51,663 PASSED: build_artifact.python_manylinux2014_x86_cp39-cp39 [time=4673.8sec, retries=0:0]
2025-11-01 11:43:51,708 PASSED: build_artifact.python_manylinux2014_x86_cp313-cp313 [time=4673.8sec, retries=0:0]

2025-11-01 04:59:11,117 PASSED: build_artifact.python_linux_extra_armv7_cp311-cp311 [time=5172.2sec, retries=0:0]
2025-11-01 04:59:31,002 PASSED: build_artifact.python_linux_extra_armv7_cp314-cp314 [time=5157.0sec, retries=0:0]
2025-11-01 04:59:53,485 PASSED: build_artifact.python_linux_extra_armv7_cp39-cp39 [time=5221.7sec, retries=0:0]
```

The builds take anywhere between 70-90 minutes for each target. We have a total of 30 targets currently and 12 targets  are built parallelly in a batch. So for about 3 batches of 12 targets each and a worst case time of 90 minutes per batch, the `build_artifact` phase itself should take about 4.5 hours to complete, followed by the remaining `package` and `distribtest` phases which should be comparatively shorter.

So, I believe about 7 hours should be enough, but just keeping an extra buffer and increasing the timeout to 8 hours.

Closes #41000

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/41000 from sreenithi:increase_distribtests_timeout 44c94b0ffd83469856d9a62f8edcee8e69fa252a
PiperOrigin-RevId: 827672050

7 weeks ago[PH2] Tracking writable state of a stream considers flow control tokens
Akshit Patel [Mon, 3 Nov 2025 16:28:09 +0000 (08:28 -0800)]
[PH2] Tracking writable state of a stream considers flow control tokens

PiperOrigin-RevId: 827509255

7 weeks ago[PH2][FlowControl][Bug] Stall ReadLoop
Tanvi Jagtap [Mon, 3 Nov 2025 08:31:20 +0000 (00:31 -0800)]
[PH2][FlowControl][Bug] Stall ReadLoop
Prioritize sending flow control updates over reading data. If we continue reading while Urgent flow control updates are pending, we might exhaust the flow control window. This prevents us from sending window updates to the peer, causing the peer to block unnecessarily while waiting for flow control tokens.

PiperOrigin-RevId: 827363513

7 weeks ago[PH2] Process receipt of GOAWAY with ENHANCE_YOUR_CALM
Akshit Patel [Mon, 3 Nov 2025 04:49:04 +0000 (20:49 -0800)]
[PH2] Process receipt of GOAWAY with ENHANCE_YOUR_CALM

PiperOrigin-RevId: 827302970

7 weeks agoEnable `layering_check` in `grpc/tools`
Rishesh Agarwal [Mon, 3 Nov 2025 04:24:19 +0000 (20:24 -0800)]
Enable `layering_check` in `grpc/tools`

PiperOrigin-RevId: 827297707

8 weeks ago[PH2][E2E] Re-enable a few tests
Akshit Patel [Sat, 1 Nov 2025 15:07:36 +0000 (08:07 -0700)]
[PH2][E2E] Re-enable a few tests

PiperOrigin-RevId: 826871685

8 weeks ago[Ruby] Fix Ruby Distribution Test Linux (#40978)
Ashesh Vidyut [Sat, 1 Nov 2025 02:22:46 +0000 (19:22 -0700)]
[Ruby] Fix Ruby Distribution Test Linux (#40978)

### Description

Since `October 25, 2025` Distribution Tests Ruby Linux started failing. On the same day a new version of [rake-compiler-dock](https://rubygems.org/gems/rake-compiler-dock) was released - `1.10.0`.

To temporarily fix the Distribution Tests Ruby Linux - fixing the `rake-compiler-dock` to previous version `1.9.1`

### Testing
CI

Closes #40978

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/40978 from asheshvidyut:fix/ruby-distrib-tests 4a443d433ad7e1548e66f7786da2e4d030929f5a
PiperOrigin-RevId: 826711661

8 weeks ago[Resource Quota Write Tracking] Fetch server side memory allocator, and start trackin...
Siddharth Nohria [Fri, 31 Oct 2025 21:24:49 +0000 (14:24 -0700)]
[Resource Quota Write Tracking] Fetch server side memory allocator, and start tracking writes in Resource quota on the server side.

PiperOrigin-RevId: 826628255

8 weeks ago[Python] Migrate to pyproject.toml build system (#40833)
Sreenithi Sridharan [Fri, 31 Oct 2025 21:16:50 +0000 (14:16 -0700)]
[Python] Migrate to pyproject.toml build system (#40833)

Fixes #40744.

Closes #40833

PiperOrigin-RevId: 826625632

8 weeks ago[PH2][E2E] Fix channelz AddData race
Akshit Patel [Fri, 31 Oct 2025 10:52:59 +0000 (03:52 -0700)]
[PH2][E2E] Fix channelz AddData race

PiperOrigin-RevId: 826420578

8 weeks ago[PH2][FlowControl] Reporting Flow Control Stalls
Tanvi Jagtap [Fri, 31 Oct 2025 05:03:02 +0000 (22:03 -0700)]
[PH2][FlowControl] Reporting Flow Control Stalls

PiperOrigin-RevId: 826319123

8 weeks ago[interop] Add v1.76.0 for C++, Ruby, PHP (#40975)
Sergii Tkachenko [Thu, 30 Oct 2025 20:53:32 +0000 (13:53 -0700)]
[interop] Add v1.76.0 for C++, Ruby, PHP (#40975)

Python version not updated because the image build is broken by a runtime dependency issue. The fix #40959 can't be backported retroactively to the tag.

Closes #40975

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/40975 from sergiitk:interop-1.76.0 cd18cfff23e61f9d0d643c41ee149bf2e8334aaf
PiperOrigin-RevId: 826173165

8 weeks ago[Part 1] Resource Quota Write memory tracking.
Siddharth Nohria [Thu, 30 Oct 2025 20:19:16 +0000 (13:19 -0700)]
[Part 1] Resource Quota Write memory tracking.

Pass a MemoryAllocator to the serialize function, so that the write memory can be allocated towards Resource Quota accounting. Add templates for SerializationTraits, to allow implementations to continue using an implementation of Serialize, which does not take the allocator as a parameter. This change is a no-op for now, because all the callers of Serialize pass nullptr for the allocator.

PiperOrigin-RevId: 826159627

8 weeks agoEnable layering_check and parse_headers in `//grpc/src/compiler`.
Rishesh Agarwal [Thu, 30 Oct 2025 13:41:43 +0000 (06:41 -0700)]
Enable layering_check and parse_headers in `//grpc/src/compiler`.

PiperOrigin-RevId: 826008875

8 weeks ago[PH2][FlowControl] PeriodicUpdate
Tanvi Jagtap [Thu, 30 Oct 2025 09:44:21 +0000 (02:44 -0700)]
[PH2][FlowControl] PeriodicUpdate

PiperOrigin-RevId: 825944024

8 weeks agoEnable `layering_check` and `parse_headers` in `test/cpp/naming/BUILD`.
Rishesh Agarwal [Thu, 30 Oct 2025 08:31:16 +0000 (01:31 -0700)]
Enable `layering_check` and `parse_headers` in `test/cpp/naming/BUILD`.

PiperOrigin-RevId: 825919046

8 weeks ago[PSM Interop] Extend cross-branch and cross-lang Kokoro test timeout (#40980)
Sergii Tkachenko [Thu, 30 Oct 2025 08:00:12 +0000 (01:00 -0700)]
[PSM Interop] Extend cross-branch and cross-lang Kokoro test timeout (#40980)

ref b/456231211

Closes #40980

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/40980 from sergiitk:psm/xtest/timeout f35a361280140a41639221e3c7d8c3221261d584
PiperOrigin-RevId: 825909156

8 weeks ago[PH2][Flowcontrol] Multiple changes
Tanvi Jagtap [Thu, 30 Oct 2025 07:14:58 +0000 (00:14 -0700)]
[PH2][Flowcontrol] Multiple changes
1. Calling TriggerWriteCycle after WindowUpdate
2. Using the Finish() function which was earlier not used in the transport
3. Making internal flow control classe objects non-copyable, non-moveable and non-assignable.
4. Adding missing headers

PiperOrigin-RevId: 825894632

8 weeks agoRevert "Add submodule cel-spec (#40968)" (#40977)
Yousuk Seung [Thu, 30 Oct 2025 05:38:29 +0000 (22:38 -0700)]
Revert "Add submodule cel-spec (#40968)" (#40977)

Probably broke distribtests.

https://btx.cloud.google.com/invocations/f4395f89-f592-4ada-9149-a0c0b5befff3/targets/%2F%2Ftools%2Fbazelify_tests%2Ftest:bazel_distribtest_7.4.1_buildtest;config=815e4ca9071c7e1d8ca72b9c87c1347399a51eb1246eb9c49dd54d9a24ef5cba/log

<!--

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

PiperOrigin-RevId: 825866763

8 weeks ago[PH2][Documentation][Test][Promise] Waker Documentation and Asserts
Tanvi Jagtap [Thu, 30 Oct 2025 05:36:14 +0000 (22:36 -0700)]
[PH2][Documentation][Test][Promise] Waker Documentation and Asserts

PiperOrigin-RevId: 825865997

8 weeks agoExport gRPC counters --> OTEL
Craig Tiller [Thu, 30 Oct 2025 04:08:18 +0000 (21:08 -0700)]
Export gRPC counters --> OTEL

This CL starts the work to export the new instrument domains system to OTEL.
Only counters are attempted at this point, the work is behind an experiment, and that experiment is disabled.

PiperOrigin-RevId: 825842970

8 weeks agoAlways link the sleuth library (#40970)
Yousuk Seung [Wed, 29 Oct 2025 16:24:11 +0000 (09:24 -0700)]
Always link the sleuth library (#40970)

Closes #40970

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/40970 from yousukseung:alwayslink a84e7152b7c32550ffe83fcb88cfd2d8e7f58d0f
PiperOrigin-RevId: 825579850