Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Click house/v1.57.1 #35

Closed
wants to merge 6,584 commits into from
Closed
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
6584 commits
Select commit Hold shift + click to select a range
683261d
[experiments] Fix debug behavior (#33358)
ctiller Jun 6, 2023
1f85fb2
[metadata] Improve codegen for name lookups (#33237)
ctiller Jun 6, 2023
28692fd
[EventEngine] Enable work stealing thread pool in debug builds (#33333)
drfloob Jun 6, 2023
a90239f
[logging] fix spelling (#33362)
ctiller Jun 7, 2023
d00e043
[Python o11y] Fix python distribtests (#33365)
XuanWang-Amos Jun 7, 2023
18c42a2
[core] Add support for vsock transport (#33309)
YadongQi Jun 7, 2023
c03cd74
[WRR] Prefer application_utilization to cpu_utilization (#33355)
yousukseung Jun 8, 2023
8fe3472
[xDS LB] Override cluster with value from cookie (#32973)
eugeneo Jun 8, 2023
d8f3dab
[end2end] Binary & fuzzer per test .cc (#33374)
ctiller Jun 8, 2023
6f68527
Revert "[xDS LB] Override cluster with value from cookie (#32973)" (#…
eugeneo Jun 8, 2023
a95e8c4
[PSM Interop] Improve assertRpcStatusCodes before/after stats logging…
sergiitk Jun 9, 2023
82534ba
[end2end] Shard some longer running tests a little more to reduce tim…
ctiller Jun 9, 2023
f974491
[EventEngine] Return work stealing experiment to CI-only (#33389)
drfloob Jun 9, 2023
a63849b
[ios] damage control (#33391)
ctiller Jun 9, 2023
6b39495
[Test] Dedup vs2019 test in the Windows test (#33385)
veblush Jun 9, 2023
4fd6dc2
[Ruby] Fix memory leak in grpc_rb_server_request_call (#33371)
peterzhu2118 Jun 9, 2023
a4ab4d0
[Ruby] Fix memory leak in grpc_rb_call_run_batch (#33368)
peterzhu2118 Jun 9, 2023
e9e5dc0
Revert "[Test] Dedup vs2019 test in the Windows test" (#33393)
veblush Jun 9, 2023
de6ed9b
[Python] Migrate from yapf to black (#33138)
sergiitk Jun 9, 2023
c450a9d
[xds] Fix test compilation (#33373)
yashykt Jun 9, 2023
076f719
Revert "Revert "[Test] Dedup vs2019 test in the Windows test" (#33393…
veblush Jun 9, 2023
243720e
[git] Ignore python style LSC #33138 in git blame (#33396)
sergiitk Jun 10, 2023
74273d0
[EventEngine] Correct the TimerList documentation (#33397)
drfloob Jun 10, 2023
d63c470
[PHP] Fix path munging when package is absent (#33124)
fowles Jun 11, 2023
eba6cec
[fuzzing] Remove ambiguity in test case, make fuzzer pass (#33405)
ctiller Jun 12, 2023
495bcbc
[fuzzing] Increase timeout to accomodate slow internal callbacks (#33…
ctiller Jun 12, 2023
20f1dbc
[Governance] Update maintainers list (#33074)
yashykt Jun 12, 2023
14c63c7
[fuzzing] Fix recursive mutex acquisition in fuzzing event engine (#3…
ctiller Jun 12, 2023
017786f
[c-ares] Upgrade c-ares dependency to 1.19.1 (#33392)
apolcyn Jun 12, 2023
fa32eb3
[bazel] Auto-generate .pyi files in py_proto_library rule (#32872)
ferstlf Jun 12, 2023
8e137e5
[end2end] Reduce likelihood of two tests opening the same UDS socket …
ctiller Jun 12, 2023
6a04e9c
[subchannel interface] add method for cancelling data watches (#33359)
markdroth Jun 12, 2023
57bb6fb
Revert "Revert "[xDS LB] Override cluster with value from cookie"" (#…
eugeneo Jun 12, 2023
e6c1b13
[resource quota] Fix bugs in iomgr and event engine endpoint interact…
Vignesh2208 Jun 12, 2023
dc2b9db
[logging] Peer should be set before common entries are filled in (#33…
ctiller Jun 13, 2023
e20e7a1
Automated fix for refs/heads/master (#33415)
github-actions[bot] Jun 13, 2023
19460ea
Revert "Revert "Revert "[xDS LB] Override cluster with value from coo…
ctiller Jun 13, 2023
7e6606f
[windows] Add a check for too long path names (#33418)
ctiller Jun 13, 2023
80dbe90
Revert "[resource quota] Fix bugs in iomgr and event engine endpoint …
ctiller Jun 13, 2023
51a6857
[end2end] Shard some longer running tests a little more to reduce tim…
ctiller Jun 14, 2023
f34a39a
[xDS e2e tests] add 1K RPCs to try to work around statistical problem…
markdroth Jun 14, 2023
969c228
[testing] Adjust port selection algorithm on RBE (#33429)
ctiller Jun 14, 2023
2055cce
[fuzzing] Fix bug on endpoint shutdown whereby we leave read requests…
ctiller Jun 14, 2023
48b4967
[maintainers] Update MAINTAINERS.md (#33441)
thisisnotapril Jun 14, 2023
6413a31
[requirements.bazel.txt] :updating wheel package to 0.38.1 to fix the…
suryadev99 Jun 14, 2023
181a24f
[PSM Interop] Pip freeze breaks down into requirements and their deps…
sergiitk Jun 14, 2023
95151a3
[promises] run finalizers in destruction path (#33434)
ctiller Jun 14, 2023
6d60d17
[experiments] Log constraints when they are used (#33381)
ctiller Jun 14, 2023
6451beb
Revert "Revert "Revert "Revert "[xDS LB] Override cluster with value …
eugeneo Jun 14, 2023
76919dc
[xDS] require EDS resource name in CDS resources with xdstp names (#3…
markdroth Jun 14, 2023
1bfcca6
Revert "[testing] Adjust port selection algorithm on RBE" (#33448)
ctiller Jun 14, 2023
02ceb72
[Release] Add grpc-java 1.56.0 to client_matrix.py (#33433)
sergiitk Jun 14, 2023
d20e8d1
[LB policies] add delegating helper classes (#33445)
markdroth Jun 15, 2023
1336405
[end2end] Better logging, and a fix (by increasing timeout) on disapp…
ctiller Jun 15, 2023
cd96210
[fuzzer] Fix event ordering in retry_max_concurrent_streams (#33454)
ctiller Jun 15, 2023
e503506
[end2end] Further robustness tuning for uds path name selection (#33443)
ctiller Jun 15, 2023
6c6faa9
[EventEngine] Fix use-after-free in the IOCP read callback (#33447)
drfloob Jun 15, 2023
e0ad9e5
[end2end] Fix simple delayed request (#33450)
ctiller Jun 15, 2023
d4be39a
[fuzzing] Use a smaller max delay for writes than run-after (#33455)
ctiller Jun 15, 2023
ac3b424
[Test] Bump the android test devices (#33395)
veblush Jun 15, 2023
cd74cfe
[Test] Made Android docker to have NDK & CMake installed (#33449)
veblush Jun 15, 2023
50e9702
[LB policy API] add helper methods for getting channel creds (#33451)
markdroth Jun 15, 2023
e7a339d
[xDS] change CDS policy to get channel creds via the helper (#33457)
markdroth Jun 16, 2023
d8db05a
[core e2e tests] increase RPC deadline in a couple of tests to avoid …
markdroth Jun 16, 2023
1b31c6e
[xDS] support "tls" channel creds in bootstrap file (#33234)
markdroth Jun 16, 2023
ecb7549
[end2end] Increase deadline on filtered_metadata test after observed …
ctiller Jun 16, 2023
a5272fa
[test] Disable cq verifier logs for stress test (#33467)
ctiller Jun 16, 2023
2bd20b8
[PollingResolver] Allow subclasses to utilize the work serializer (#3…
anicr7 Jun 16, 2023
d554319
[interop] Implement "hostname" for RPC behavior (#33446)
eugeneo Jun 16, 2023
cb9fe64
[logging] Handle trailers-only responses (#33461)
ctiller Jun 16, 2023
23f5810
[no_logging] Restrict regexes by module name (#33468)
ctiller Jun 16, 2023
700012f
[fuzzing] Allow naming owners for fuzzers (#33470)
ctiller Jun 16, 2023
26ae8a1
[fuzzing] Fix fuzzer found test bug (#33471)
ctiller Jun 16, 2023
0571147
[BinderTransport] Disable flaky end2end tests (#33474)
sifmelcara Jun 17, 2023
e107ff5
[HTTP2] Fix inconsistencies in keepalive configuration (#33428)
yashykt Jun 18, 2023
55e20c3
[logging] Fix for ubsan error (#33475)
ctiller Jun 19, 2023
e35cf36
Revert "[logging] Handle trailers-only responses (#33461)" (#33485)
yashykt Jun 19, 2023
846a4e8
[obj-c] Drop remaining usages of 'using std::string' (#31517)
georgthegreat Jun 19, 2023
7e14a32
[lb pick_first] Enable random shuffling of address list (#33254)
eugeneo Jun 20, 2023
153f4e2
[fuzzing] Increase deadline to accommodate fuzzing injected delays (#…
ctiller Jun 20, 2023
a813266
[flake] Raise deadline to eliminate flake in request_with_payload (#3…
ctiller Jun 20, 2023
14de20b
[svc-cfg] Move ServiceConfigChannelArgFilter to promises (#33473)
ctiller Jun 20, 2023
223117f
[fuzzing] Increase deadline to accommodate fuzzing injected delays (#…
ctiller Jun 20, 2023
b28c404
[fuzzing] Fix failures found by max_connection_idle_fuzzer (#33487)
ctiller Jun 20, 2023
123da4a
[rbac] Convert to promises (#33472)
ctiller Jun 20, 2023
834683f
[cleanups] Silence a -Wformat compiler warning (#33484)
d0k Jun 20, 2023
d59c8eb
Revert "[lb pick_first] Enable random shuffling of address list (#332…
eugeneo Jun 20, 2023
fb9e927
[PSM Interop] Outlier detection: use native cpp server since v1.57.x …
sergiitk Jun 20, 2023
f8dd1a0
[http2] Rename configuration_test to ping_configuration_test (#33500)
yashykt Jun 20, 2023
7bce35e
Revert "Revert "[lb pick_first] Enable random shuffling of address li…
eugeneo Jun 20, 2023
2c336ac
[tools] Switch to Dart stable (#33498)
mosuem Jun 21, 2023
cd4ff81
Revert "Revert "[resource quota] Fix bugs in iomgr and event engine e…
Vignesh2208 Jun 21, 2023
e9c4483
[fork] simplify Fork::SetResetChildPollingEngineFunc to fix nested fo…
apolcyn Jun 21, 2023
011e116
[Test] Use `ssl.SSLContext.wrap_socket`, not `ssl.wrap_socket` (#33492)
musicinmybrain Jun 21, 2023
a194f14
Revert "[svc-cfg] Move ServiceConfigChannelArgFilter to promises" (#3…
veblush Jun 21, 2023
12e0e60
[ObjC] generate Package.swift from template (#33505)
HannahShiSFB Jun 21, 2023
441ff0e
[logging] Add tests for cases where we don't send any metadata and im…
yashykt Jun 21, 2023
ba878c8
Revert "[HTTP2] Fix inconsistencies in keepalive configuration (#3342…
yashykt Jun 21, 2023
7910554
[client_channel] fix dumb bug in data watcher comparator (#33413)
markdroth Jun 21, 2023
055158b
[iomgr][Windows] Return proper error code to client when connection i…
drfloob Jun 22, 2023
6e95ceb
[EventEngine] Simplify `EventEngine::DNSResolver` API (#33459)
yijiem Jun 22, 2023
32a46a9
[grpclb] Use a separate channel arg to enable load reporting filter (…
markdroth Jun 22, 2023
20fbd3f
[PSM interop] Don't fail url_map target if sub-target already failed …
XuanWang-Amos Jun 22, 2023
fc4736c
[interop] Fix crash in pick_first LB policy (#33519)
eugeneo Jun 22, 2023
1bf3f56
[examples] Replace Node example files with references to the new loca…
murgatroid99 Jun 23, 2023
297db35
[third_party] update @envoy-api (#33539)
eugeneo Jun 23, 2023
6076825
[ruby] Add `-weak_framework CoreFoundation` to link line (#33538)
flavorjones Jun 23, 2023
059144a
[Ruby] add aarch64 linux build (#33079)
alto-ruby Jun 25, 2023
c6e4a60
[ObjC] run cf event engine test suit on ios (#33534)
HannahShiSFB Jun 25, 2023
1002319
[csharp] reintroduce base_namespace experimental option to C# (with a…
jtattermusch Jun 26, 2023
35754ac
[Release] Add 1.56.0 to interop matric for C++, ruby, php, python (#…
yijiem Jun 26, 2023
8427bac
[resolver API] remove address attribute interface (#33514)
markdroth Jun 26, 2023
dde1291
Automated fix for refs/heads/master (#33546)
github-actions[bot] Jun 26, 2023
8393319
[health checking] prep for outlier detection ejecting via health watc…
markdroth Jun 26, 2023
2878e85
[PSM Interop] Bump the canonical server from v1.48.1 to v1.56.0 (#33542)
sergiitk Jun 26, 2023
4b55f22
[alts] Remove ExecCtx check from alts_zero_copy_grpc_protector_create…
matthewstevenson88 Jun 26, 2023
e3c22b9
[Fuzzing] Fix use-after-free in resolver_fuzzer (#33553)
yijiem Jun 26, 2023
ababacd
[xDS] fix fuzzer-found failure in ClusterSpecifierPlugin handling (#3…
markdroth Jun 26, 2023
a3fd9e4
[python O11Y] Add OpenCensus StackDriver exporter (#33384)
XuanWang-Amos Jun 27, 2023
16a11fa
[Test] Explicitly cast `enum class` to `int` before passing it with a…
veblush Jun 27, 2023
875b7fd
[otel] Add bazel dependency (#33548)
yashykt Jun 27, 2023
27a778f
[round robin] delegate to pick_first instead of creating subchannels …
markdroth Jun 27, 2023
017153a
Revert "[otel] Add bazel dependency" (#33559)
markdroth Jun 27, 2023
98417f3
Revert "Revert "[otel] Add bazel dependency"" (#33560)
yashykt Jun 27, 2023
38816cf
[WRR] delegate to pick_first instead of creating subchannels directly…
markdroth Jun 27, 2023
f09357c
[ring hash] delegate to pick_first instead of creating subchannels di…
markdroth Jun 28, 2023
acac598
[git attributes] add Package.swift to list of generated files (#33563)
markdroth Jun 28, 2023
51e54ed
[outlier detection] remove support for ejection via raw connectivity …
markdroth Jun 28, 2023
21f2eba
[ring_hash] fix propagation of channel args to pick_first child in up…
markdroth Jun 28, 2023
278978d
[tls] Remove use of SSL_CTX_set_client_CA_list for TLS server credent…
matthewstevenson88 Jun 29, 2023
bf3ffcf
[experiments] A unit test for the experiments framework (#33334)
Vignesh2208 Jun 29, 2023
15db5cd
[resolvers] use proper %-encoding of authority by default (#33571)
markdroth Jun 29, 2023
88e269d
Automated fix for refs/heads/master (#33576)
github-actions[bot] Jun 29, 2023
867973b
[experiments] Update experiments expiry (#33573)
Vignesh2208 Jun 29, 2023
e0bc8a2
[xDS LB] xDS pick first support (#33540)
eugeneo Jun 30, 2023
189acd8
[http] Add logging on a new stream (#33584)
yashykt Jun 30, 2023
ac874c2
[core] Add a channel argument to set DSCP on streams (#28322)
bjosv Jun 30, 2023
8d9164f
Revert "Revert "[HTTP2] Fix inconsistencies in keepalive configuratio…
yashykt Jun 30, 2023
e9446ca
[PSM Interop] Bump URL Map canonical server from 1.40.0 to 1.56.0 (#3…
sergiitk Jul 1, 2023
523d9a2
Revert "Revert "Revert "[HTTP2] Fix inconsistencies in keepalive conf…
yashykt Jul 5, 2023
415f2f9
[Core] Improve HPACK (#33597)
veblush Jul 5, 2023
6303798
[experiments] Add specification of different default values for diffe…
Vignesh2208 Jul 5, 2023
eb5c4da
[EventEngine] Only use fork handlers when enabled via an environment …
drfloob Jul 5, 2023
5b880e3
Revert "Revert "[svc-cfg] Move ServiceConfigChannelArgFilter to promi…
ctiller Jul 5, 2023
43f67d3
[fuzzing] Allow hpack fuzzers to supply config (#33242)
ctiller Jul 5, 2023
c0889a4
[fuzz] Increase call timeout for retry_unref_before_recv (#33608)
yashykt Jul 5, 2023
c5bb43a
[chttp2] Eliminate grpc_chttp2_stream_map (#33503)
ctiller Jul 5, 2023
efa9678
Automated fix for refs/heads/master (#33610)
github-actions[bot] Jul 5, 2023
8101a80
[PSM Interop] Set canonical server via canonical-* tag, not commit sh…
sergiitk Jul 6, 2023
d139c4a
[metadata] Add an experiment to ensure a unique refcount on parsed sl…
ctiller Jul 6, 2023
78240d4
[experiments] Fix some bugs for no rollout definition (#33626)
ctiller Jul 6, 2023
1e465ca
[experiments] Allow deleting experiments without updating rollouts.ya…
ctiller Jul 6, 2023
08f1cc3
[end2end] Explain failures a little better (#33621)
ctiller Jul 6, 2023
9984f1b
Revert "Revert "Revert "Revert "[HTTP2] Fix inconsistencies in keepal…
yashykt Jul 6, 2023
0cc9d16
[chaotic-good] Implement a promise-based endpoint for chaotic-good tr…
nanahpang Jul 7, 2023
4b7a360
[end2end] Fix fuzzer found deadline bug (#33632)
ctiller Jul 7, 2023
f417da7
[end2end] Fix fuzzer found deadline bug (#33631)
ctiller Jul 7, 2023
e28729f
[end2end] Fix fuzzer found deadline bug (#33630)
ctiller Jul 7, 2023
cdfbb0c
[end2end] Fix fuzzer found deadline bug (#33629)
ctiller Jul 7, 2023
d3d4d53
[end2end] Fix fuzzer found deadline bug (#33633)
ctiller Jul 7, 2023
d66dbdb
[PSM Interop] Include app net test to the PSM Interop LB suite (#33620)
sergiitk Jul 7, 2023
dc5c99c
[fuzzing] Increase deadline (#33600)
ctiller Jul 7, 2023
f7b1ed8
[Ruby] remove objs and strip libs in ruby extension build (#33596)
alto-ruby Jul 10, 2023
ac3b6bf
[csharp] Include correct build of Grpc.Tools in nightly packages (#33…
jtattermusch Jul 10, 2023
ed587f2
[hpack] Reduce parse table size in the rare case of a parse error (#3…
ctiller Jul 10, 2023
d7f7947
[promises] Fix use-after-free noticed internally (#33644)
ctiller Jul 10, 2023
4599419
[interop_matrix] Add Java 1.55.1 (#33049)
ejona86 Jul 10, 2023
e0b8bd9
[interop_matrix] Add Java 1.50.3 (#32865)
ejona86 Jul 10, 2023
974798a
[tracing] Fix flakiness in tcp_posix_test (#33639)
Vignesh2208 Jul 10, 2023
fe11ec9
[ruby] experimental client side fork support (#33430)
apolcyn Jul 10, 2023
899bf72
[C++] Fix two compilation warnings in grpcpp/support/proto_buffer_rea…
Romain-Geissler-1A Jul 11, 2023
69b919f
[logging] Handle trailers-only responses (#33640)
ctiller Jul 11, 2023
4ce51fe
[hpack] Huffman read optimization (#33269)
ctiller Jul 11, 2023
20dfe78
[promises] Change physical layout of retry filter (#33479)
ctiller Jul 11, 2023
57c697d
Revert "[hpack] Huffman read optimization" (#33655)
ctiller Jul 11, 2023
fa95c4c
[interop] Add absl dependency to interop server (#33647)
Vignesh2208 Jul 11, 2023
b7077f4
[hpack] Rollforward huffman read optimization (#33657)
ctiller Jul 11, 2023
8845e29
[filter-test] Enhancements for better testing (#33652)
ctiller Jul 11, 2023
86d7c81
[fuzzing] Increase deadline (#33658)
ctiller Jul 11, 2023
7223a9e
[fuzzing] Increase deadline (#33663)
ctiller Jul 12, 2023
eb7b72e
[PSM Interop] Loosen affinity test assertions (#33648)
gnossen Jul 12, 2023
2788b56
[iomgr][EventEngine] Improve server handling of file descriptor exhau…
drfloob Jul 12, 2023
b32d94d
[ruby fork support] skip new fork tests since they're flaky at introd…
apolcyn Jul 12, 2023
a1ce253
[posix] Enable systemd sockets for libsystemd>=233 (#32671)
drfloob Jul 12, 2023
b211522
[ruby] simplify shutdown; remove unnecessary attempts at grpc_shutdow…
apolcyn Jul 12, 2023
c9eeca9
Revert "[interop] Add absl dependency to interop server" (#33676)
Vignesh2208 Jul 12, 2023
af257b8
[hpack] Fix benchmarking timeout (#33675)
ctiller Jul 12, 2023
a934848
[core/security] Add Custom Token Lifetime - Service Acc Impersonation…
mario-vimal Jul 13, 2023
8bab8f1
[fix] Include event_engine.h unconditionally in tcp_server_posix (#33…
drfloob Jul 13, 2023
bb867dd
[PSM Interop] Update Kokoro to Ubuntu 22.04 (#33589)
sergiitk Jul 13, 2023
82fb0b1
[ruby fork support] Revert "[ruby fork support] skip new fork tests s…
apolcyn Jul 13, 2023
ec39600
[WRR] fix bugs that caused us to re-enter blackout period upon update…
markdroth Jul 13, 2023
5e3fe08
[BoringSSL] Update third_party/boringssl-with-bazel (#33690)
drfloob Jul 13, 2023
e9ba954
[owners] Remove CODEOWNERS for ctiller where its no longer necessary …
ctiller Jul 14, 2023
5c92de0
[PSM Interop] Legacy test builds always pull the driver from master (…
sergiitk Jul 14, 2023
c81bdf7
[Protobuf] Upgrade third_party/protobuf to 23.4 (#33695)
drfloob Jul 14, 2023
c96f3dc
Automated fix for refs/heads/master (#33710)
github-actions[bot] Jul 14, 2023
083bbee
[LB policies] revert changes for dualstack design (#33718)
markdroth Jul 14, 2023
82cdea3
[C#] Grpc.Tools - Remove TODOs for splitting package (#33581)
tonydnewell Jul 17, 2023
2556033
[ObjC] run ios tests with event engine enabled (#33590)
HannahShiSFB Jul 17, 2023
d2f37b8
[OTel] Basic C++ OTel Stats Functionality (#33650)
yashykt Jul 17, 2023
e7532c8
[experiments] Extend expiry for memory_pressure_controller (#33735)
ctiller Jul 17, 2023
ff4c64e
[release] Teach make_grpcio_tools script to delete temporary files (#…
drfloob Jul 17, 2023
aa7c982
[EventEngine] fix bug in unix-abstract socket URI processing (#33721)
Vignesh2208 Jul 17, 2023
107e4dc
[deps] Upgrade google/benchmark dependency (#33736)
drfloob Jul 17, 2023
1821eaa
Automated fix for refs/heads/master (#33743)
github-actions[bot] Jul 17, 2023
75ecd17
[Ruby] remove manual strip in ruby ext conf (#33641)
alto-ruby Jul 17, 2023
d779808
[PSM Interop] Fix PyYAML Cython build / Upgrade PyYAML to 6.0 (#33745)
sergiitk Jul 18, 2023
d714ae7
[dependency] Restrict cython to less than 3.X (#33738)
gnossen Jul 18, 2023
0853003
[python] It should be an error to have unformatted code (#33752)
ctiller Jul 18, 2023
0adbe57
[cone of shame] Delete vim swap file (#33754)
gnossen Jul 18, 2023
6ad141a
[LB policies] use helper GetAuthority() instead of GRPC_ARG_SERVER_UR…
markdroth Jul 18, 2023
76bd606
[build] Make GRPC_MUST_USE_RESULT default backed by nodiscard (#33742)
ctiller Jul 18, 2023
fae2982
[ssl] Fix SSL stack to handle large handshake messages whose length e…
matthewstevenson88 Jul 18, 2023
2c81c56
[deps] Remove libuv dependency (#33748)
drfloob Jul 19, 2023
73605f4
[EventEngine] Change `GetDNSResolver` to return `absl::StatusOr<std::…
yijiem Jul 19, 2023
67f4e4e
[resource quota] Reduce stress test size to prevent OOMs (#33776)
Vignesh2208 Jul 19, 2023
112a29c
[fuzzing] Increase deadline (#33765)
ctiller Jul 19, 2023
4198a37
[experiments] Introduce a visibility class for experiments target (#3…
Vignesh2208 Jul 20, 2023
38da78e
[test] delete client_channel_stress_test (#33763)
markdroth Jul 20, 2023
b33a078
[build] Private visibility for internal EE library (#33764)
drfloob Jul 20, 2023
7ac032b
[build] Add visibility rule for arena, resource quota (#33777)
ctiller Jul 20, 2023
e821494
[test] Increase deadline after observed failure internally (#33778)
ctiller Jul 20, 2023
25ed074
[bad_client] Increase timeout (saw this exceeded internally) (#33781)
ctiller Jul 20, 2023
4c71077
[promises] Handle the case that a rejection happens without reporting…
ctiller Jul 20, 2023
a28900a
[ruby] raise RPC deadline in a flakey test (#33713)
apolcyn Jul 20, 2023
76e4832
[promises] Use call finalization to destroy call data - avoids a use …
ctiller Jul 20, 2023
5b46c8b
[fuzzing] Increase deadline, fix b/291630910 (#33768)
ctiller Jul 20, 2023
0155478
[test] Increase timeout for ssl_transport_security_test (#33789)
drfloob Jul 20, 2023
d4cbb7a
[ruby] fix crash when prefork/postfork is used without previously usi…
apolcyn Jul 20, 2023
e399f1d
[Build] Update Phusion baseimage (#33767)
eugeneo Jul 20, 2023
801f106
[promises] Add logging_test to promise_based_server_call testing (#33…
ctiller Jul 20, 2023
3d9f2d8
[ruby] improve possible error message in postfork parent (#33791)
apolcyn Jul 20, 2023
ef770e5
[promises] Promise based filter needs to set context before finalizat…
ctiller Jul 20, 2023
abdeffc
[test] Run PHP distribtests with -j 2 instead of 4 (#33795)
drfloob Jul 21, 2023
19ca737
[Release] Bump core version to 34.0.0 for upcoming release (#33800)
drfloob Jul 21, 2023
1e904e8
[PSM Interop] Legacy tests: fix xDS test client build (v1.57.x backpo…
sergiitk Jul 21, 2023
74d8f5c
[Release] Bump version to 1.57.0-pre1 (on v1.57.x branch) (#33826)
drfloob Jul 24, 2023
c1285fe
[backport][test] Run PHP distribtests with make -j8 (#33831) (#33834)
drfloob Jul 24, 2023
dfae18f
[ruby] backport "[ruby] remove unnecessary background thread startup …
apolcyn Jul 25, 2023
5305347
[v1.57.x][Interop] Backport Python image update (#33868)
eugeneo Jul 25, 2023
a616401
[Release] Bump version to 1.57.0 (on v1.57.x branch) (#34008)
drfloob Aug 8, 2023
6c7eb42
[Interop Tests][v1.57] Update Docker images (#34358)
eugeneo Sep 15, 2023
eccd75c
[Cord] Backport-1.57: Fix MakeCordFromSlice memory bug (#34557)
veblush Oct 6, 2023
d9c68cb
[Release] Bump version to 1.57.1 (on v1.57.x branch) (#34623)
veblush Oct 9, 2023
8a37594
Remove submodules
rschu1ze Nov 15, 2023
76bccf5
Cf. https://github.com/ClickHouse/grpc/commit/7436366ceb341ba5c00ea29…
rschu1ze Nov 3, 2023
62203a5
Remove download-in-build
rschu1ze Nov 15, 2023
e81b709
Don't build against systemd
rschu1ze Nov 13, 2023
fd80257
Disable GRPC_HAVE_VSOCK
rschu1ze Nov 15, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[ruby] backport "[ruby] remove unnecessary background thread startup …
…wait logic that interferes with forking #33805" to v1.57.x (#33846)

Backports #33805
  • Loading branch information
apolcyn authored Jul 25, 2023
commit dfae18fd2f443f8e24cd0c3f9dc9917d5e58268a
44 changes: 44 additions & 0 deletions src/ruby/end2end/prefork_postfork_loop_test.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#!/usr/bin/env ruby
#
# Copyright 2016 gRPC authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

ENV['GRPC_ENABLE_FORK_SUPPORT'] = "1"
fail "forking only supported on linux" unless RUBY_PLATFORM =~ /linux/

this_dir = File.expand_path(File.dirname(__FILE__))
protos_lib_dir = File.join(this_dir, 'lib')
grpc_lib_dir = File.join(File.dirname(this_dir), 'lib')
$LOAD_PATH.unshift(grpc_lib_dir) unless $LOAD_PATH.include?(grpc_lib_dir)
$LOAD_PATH.unshift(protos_lib_dir) unless $LOAD_PATH.include?(protos_lib_dir)
$LOAD_PATH.unshift(this_dir) unless $LOAD_PATH.include?(this_dir)

require 'grpc'
require 'end2end_common'

def main
10_000.times do
# The prefork and postfork APIs are meant to be used before and after a
# fork. So this is not technically correct usage of the API. However, the
# current implementation doesn't actually care about a "fork" call happening
# in between prefork and postfork_parent, and this is unlikely to change anytime
# soon. Also note the goal of this test is mainly to test the background thread startup
# and shutdown that happens in prefork and postfork_parent. If we were to actually
# fork in this test, it would take much longer to run.
GRPC.prefork
GRPC.postfork_parent
end
end

main
54 changes: 1 addition & 53 deletions src/ruby/ext/grpc/rb_channel.c
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,6 @@ static bg_watched_channel* bg_watched_channel_list_head = NULL;

static void grpc_rb_channel_try_register_connection_polling(
bg_watched_channel* bg);
static void* wait_until_channel_polling_thread_started_no_gil(void*);
static void wait_until_channel_polling_thread_started_unblocking_func(void*);
static void* channel_init_try_register_connection_polling_without_gil(
void* arg);

Expand All @@ -111,7 +109,6 @@ static grpc_completion_queue* g_channel_polling_cq;
static gpr_mu global_connection_polling_mu;
static gpr_cv global_connection_polling_cv;
static int g_abort_channel_polling = 0;
static int g_channel_polling_thread_started = 0;
static gpr_once g_once_init = GPR_ONCE_INIT;
static VALUE g_channel_polling_thread = Qnil;

Expand Down Expand Up @@ -224,12 +221,6 @@ static VALUE grpc_rb_channel_init(int argc, VALUE* argv, VALUE self) {
channel_init_try_register_stack stack;

grpc_ruby_fork_guard();
int stop_waiting_for_thread_start = 0;
rb_thread_call_without_gvl(
wait_until_channel_polling_thread_started_no_gil,
&stop_waiting_for_thread_start,
wait_until_channel_polling_thread_started_unblocking_func,
&stop_waiting_for_thread_start);
/* "3" == 3 mandatory args */
rb_scan_args(argc, argv, "3", &target, &channel_args, &credentials);

Expand Down Expand Up @@ -286,7 +277,6 @@ static void* get_state_without_gil(void* arg) {
get_state_stack* stack = (get_state_stack*)arg;

gpr_mu_lock(&global_connection_polling_mu);
GPR_ASSERT(g_abort_channel_polling || g_channel_polling_thread_started);
if (stack->bg->channel_destroyed) {
stack->out = GRPC_CHANNEL_SHUTDOWN;
} else {
Expand Down Expand Up @@ -423,15 +413,8 @@ static void grpc_rb_channel_maybe_recreate_channel_after_fork(
bg_watched_channel* bg = wrapper->bg_wrapped;
if (bg->channel_destroyed) {
// There must be one ref at this point, held by the ruby-level channel
// object.
// object, drop this one here.
GPR_ASSERT(bg->refcount == 1);
// Wait for channel polling thread to re-initialize
int stop_waiting_for_thread_start = 0;
rb_thread_call_without_gvl(
wait_until_channel_polling_thread_started_no_gil,
&stop_waiting_for_thread_start,
wait_until_channel_polling_thread_started_unblocking_func,
&stop_waiting_for_thread_start);
rb_thread_call_without_gvl(channel_safe_destroy_without_gil, bg, NULL,
NULL);
// re-create C-core channel
Expand Down Expand Up @@ -635,9 +618,6 @@ static void grpc_rb_channel_try_register_connection_polling(
bg_watched_channel* bg) {
grpc_connectivity_state conn_state;
watch_state_op* op = NULL;

GPR_ASSERT(g_channel_polling_thread_started || g_abort_channel_polling);

if (bg->refcount == 0) {
GPR_ASSERT(bg->channel_destroyed);
bg_watched_channel_list_free_and_remove(bg);
Expand All @@ -647,15 +627,13 @@ static void grpc_rb_channel_try_register_connection_polling(
if (bg->channel_destroyed || g_abort_channel_polling) {
return;
}

conn_state = grpc_channel_check_connectivity_state(bg->channel, 0);
if (conn_state == GRPC_CHANNEL_SHUTDOWN) {
return;
}
GPR_ASSERT(bg_watched_channel_list_lookup(bg));
// prevent bg from being free'd by GC while background thread is watching it
bg->refcount++;

op = gpr_zalloc(sizeof(watch_state_op));
op->op_type = CONTINUOUS_WATCH;
op->op.continuous_watch_callback_args.bg = bg;
Expand All @@ -678,9 +656,6 @@ static void* run_poll_channels_loop_no_gil(void* arg) {
gpr_log(GPR_DEBUG, "GRPC_RUBY: run_poll_channels_loop_no_gil - begin");

gpr_mu_lock(&global_connection_polling_mu);
GPR_ASSERT(!g_abort_channel_polling);
GPR_ASSERT(!g_channel_polling_thread_started);
g_channel_polling_thread_started = 1;
gpr_cv_broadcast(&global_connection_polling_cv);
gpr_mu_unlock(&global_connection_polling_mu);

Expand Down Expand Up @@ -761,31 +736,6 @@ static VALUE run_poll_channels_loop(VALUE arg) {
return Qnil;
}

static void* wait_until_channel_polling_thread_started_no_gil(void* arg) {
int* stop_waiting = (int*)arg;
gpr_log(GPR_DEBUG, "GRPC_RUBY: wait for channel polling thread to start");
gpr_mu_lock(&global_connection_polling_mu);
while (!g_channel_polling_thread_started && !g_abort_channel_polling &&
!*stop_waiting) {
gpr_cv_wait(&global_connection_polling_cv, &global_connection_polling_mu,
gpr_inf_future(GPR_CLOCK_REALTIME));
}
gpr_mu_unlock(&global_connection_polling_mu);

return NULL;
}

static void wait_until_channel_polling_thread_started_unblocking_func(
void* arg) {
int* stop_waiting = (int*)arg;
gpr_mu_lock(&global_connection_polling_mu);
gpr_log(GPR_DEBUG,
"GRPC_RUBY: interrupt wait for channel polling thread to start");
*stop_waiting = 1;
gpr_cv_broadcast(&global_connection_polling_cv);
gpr_mu_unlock(&global_connection_polling_mu);
}

static void* set_abort_channel_polling_without_gil(void* arg) {
(void)arg;
gpr_mu_lock(&global_connection_polling_mu);
Expand Down Expand Up @@ -814,7 +764,6 @@ void grpc_rb_channel_polling_thread_start() {
gpr_once_init(&g_once_init, do_basic_init);
GPR_ASSERT(!RTEST(g_channel_polling_thread));
GPR_ASSERT(!g_abort_channel_polling);
GPR_ASSERT(!g_channel_polling_thread_started);
GPR_ASSERT(g_channel_polling_cq == NULL);

g_channel_polling_cq = grpc_completion_queue_create_for_next(NULL);
Expand All @@ -841,7 +790,6 @@ void grpc_rb_channel_polling_thread_stop() {
// we can start again later
g_channel_polling_thread = Qnil;
g_abort_channel_polling = false;
g_channel_polling_thread_started = false;
g_channel_polling_cq = NULL;
}

Expand Down
2 changes: 2 additions & 0 deletions tools/run_tests/run_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -945,6 +945,7 @@ def test_specs(self):
"src/ruby/end2end/fork_test.rb",
"src/ruby/end2end/simple_fork_test.rb",
"src/ruby/end2end/prefork_without_using_grpc_test.rb",
"src/ruby/end2end/prefork_postfork_loop_test.rb",
"src/ruby/end2end/secure_fork_test.rb",
"src/ruby/end2end/bad_usage_fork_test.rb",
"src/ruby/end2end/sig_handling_test.rb",
Expand All @@ -969,6 +970,7 @@ def test_specs(self):
"src/ruby/end2end/secure_fork_test.rb",
"src/ruby/end2end/bad_usage_fork_test.rb",
"src/ruby/end2end/prefork_without_using_grpc_test.rb",
"src/ruby/end2end/prefork_postfork_loop_test.rb",
]:
if platform_string() == "mac":
# Skip fork tests on mac, it's only supported on linux.
Expand Down