VLOG is probably the wrong thing here (considering it's been requested explicitly via a trace)
Closes#38135
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/38135 from ctiller:flake-fightas-26 52a78995d2
PiperOrigin-RevId: 697067177
These corpora entries helped isolate a number of bugs in cancel_after_invoke.
By themselves right now I don't expect them to do much, but I want to seed our upstream fuzzers with this data so that we can find new examples in the future.
Closes#38132
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/38132 from ctiller:flake-fightas-23 9f6ae727f8
PiperOrigin-RevId: 697064247
If we close reads on an mpsc then readers should also fail - not doing so can open the way for some weird stuck bugs
Closes#38138
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/38138 from ctiller:flake-fightas-29 8bc61601be
PiperOrigin-RevId: 697023583
<!--
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#38128
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/38128 from yashykt:TestMetricstestFlakiness 4ac65b2d80
PiperOrigin-RevId: 697000317
Fix https://github.com/grpc/grpc/issues/37969.
There is an inverted length check in GrpcPolledFdWindows before memcpying from gRPC's `recv_from_source_addr_` into c-ares' socket address structure. In newer c-ares version, it changed to use `struct sockaddr_storage` for the socket address which is 128 bytes and hit this issue.
<!--
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#38101
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/38101 from yijiem:37969 282fc8269e
PiperOrigin-RevId: 696607100
Just used this to find out we always do a tcp write for client initial metadata prior to payload
Closes#38053
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/38053 from ctiller:party-see 6b5a2ba6cf
PiperOrigin-RevId: 696371772
This has been timing out recently.
Looks like in a lot of passing runs of this job, we're taking b/t ~55 minutes
and 1.5 hours
PiperOrigin-RevId: 696262722
Update the chaotic-good wire format with some learnings from the past year, and set up things for the next round of changes we'd like to make:
* Instead of a composite FRAGMENT frame, split out CLIENT_INITIAL_METADATA, CLIENT_END_OF_STREAM, MESSAGE, SERVER_INITIAL_METADATA, SERVER_TRAILING_METADATA as separate frame types - this eliminates a ton of complexity in the transport, and corresponds to how we used the wire format in practice anyway.
* Switch the frame payload for metadata, settings to be protobuf instead of HPACK - this eliminates the ordering requirements on interpreting these frames between streams, which I expect to open up some flexibility with head of line avoidance in the future. It's a heck of a lot easier to read and reason about the code. It's also easier to predict the size of the frame at encode time, which lets us treat metadata and payloads more uniformly in the protocol.
* Add a connection id field to our header, in preparation for allowing multiple data connections
* Allow payloads to be shipped on the control channel ('connection id 0') and use this for sending small messages
Closes#37765
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/37765 from ctiller:tiefling 7b57f72367
PiperOrigin-RevId: 695766541
- Adding two experiments for promises based HTTP2 transport.
- We have kept client and server transport experiments separate to help with smoother roll outs and also help with interop testing.
- The experiments are disabled, we expect this project to take several months.
Closes#38103
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/38103 from tanvi-jagtap:client_server_transport_experiment 53a24bda04
PiperOrigin-RevId: 695606023
This fixes b/323916594. In some flaky cases, a skipped test seems to be causing an unnecessary segfault at the test shutdown. This test is no longer relevant in newer version of PHP. It had been skipped for a while already.
Closes#38090
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/38090 from ajinkyakulkarni75:skipped-test 2d159b4ffb
PiperOrigin-RevId: 694567089
Fix https://github.com/grpc/grpc/issues/37742.
<!--
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#38069
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/38069 from yijiem:37742 064c437b8d
PiperOrigin-RevId: 694305299
Use `dockcross/manylinux2014-aarch64` for aarch64 artifact docker images to improve portability. Also existing docker images are updated to use the latest instead of pinned image.
Closes#38084
PiperOrigin-RevId: 694241161
Speculative attempt to fix a failing test. Hypothesis: UB on destroyed buffer when the read callbacks were executed.
Closes#38085
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/38085 from drfloob:iocp-test-cleanup ae89836762
PiperOrigin-RevId: 694187408
This removes all xDS protos except for 5 of them that have services. We still have some limitations in our internal build system that make it hard to use the real xDS protos for those files, but we're now using the real xDS protos for the rest.
(Note: discovery.proto is actually a special case. While it does have services, we don't actually use those services, so that's not the reason we need a copy of this file. Unfortunately, the xDS BUILD files group discovery.proto into the same build target as ads.proto, which has services that we actually use, thus requiring us to have our own copy. This means that depending on the real discovery.proto causes us to also depend on the real ads.proto, which causes a conflict in the protobuf registry by linking two copies of ads.proto. However, we *are* using the real discovery.proto in unit tests, which do not depend on ads.proto.)
PiperOrigin-RevId: 693907782
The target `:default_event_engine_factory` currently uses gRPC specific config_settings which bundle the CPU with the OS (e.g. `cpu: windows_x86_64`). Use Bazel's OS constraint as one of the select cases so the correct target is used when settings `os: windows` as a constraint.
PiperOrigin-RevId: 693890511
We've got a customer that's seeing some failures right now and are stuck debugging because we don't have sufficient log visibility.
Closes#38065
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/38065 from ctiller:loggy 8df1d8a4bb
PiperOrigin-RevId: 693879687
ResolvedAddrToUnixPathIfPossible is only called when GRPC_HAVE_UNIX_SOCKET is defined, so there's no need to define that function when it isn't.
Closes#38016
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/38016 from hferreiro:master 3d00260104
PiperOrigin-RevId: 693833757
This change upgrades the sanity test to use Clang 19, including clang-format and clang-tidy. (It's a partial implementation of the changes proposed in #38038)
Key updates:
- Docker images now utilize Clang 19.
- Code has been reformatted using the updated clang-format.
- Resolved `readability-math-missing-parentheses` warnings raised by clang-tidy.
Note that the other part of the clang-19 upgrade, "using clang-19 for C++ test" will be done once opentelemetry-cpp fixes the clang-19 build error.
Closes#38070
PiperOrigin-RevId: 693833548