Craig Tiller
47c141387b
[promise-mpsc] Fix thundering herd with many senders ( #36862 )
...
Previously we'd enter a wakeup storm if there were too many concurrent senders. Now we allow a small burst over the send limit (up to the number of concurrent senders on the mpsc), and make the wait until that send passes to the receiver. In this way we don't wake all pending senders even if there's not sufficient queue space available.
Closes #36862
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36862 from ctiller:mpsc-quadratic 4d2ad48e2d
PiperOrigin-RevId: 643375554
10 months ago
Tanvi Jagtap
6f09d2ab00
[grpc][Gpr_To_Absl_Logging] Migrating from gpr to absl logging GPR_ASSERT ( #36472 )
...
[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 #36472
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36472 from tanvi-jagtap:tjagtap_src_core_lib_promise 03fe59d7c0
PiperOrigin-RevId: 629767763
11 months ago
Craig Tiller
c18e8559e7
[clang-format] Remove requirement that port_platform.h is at the top ( #36284 )
...
Closes #36284
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36284 from ctiller:port_platform-src-core-clang-format 99a9af9beb
PiperOrigin-RevId: 623689335
1 year ago
Craig Tiller
585bdccf45
Automated rollback of commit a5a25c7dad
.
...
PiperOrigin-RevId: 591269197
1 year ago
gRPC Team Bot
a5a25c7dad
Automated rollback of commit b455726401
.
...
PiperOrigin-RevId: 591089109
1 year ago
Craig Tiller
b455726401
[call-v3] Convert server auth filter ( #35299 )
...
Closes #35299
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35299 from ctiller:v3-server-auth 32c3ee4821
PiperOrigin-RevId: 591000230
1 year ago
Craig Tiller
96ac691531
[promises] poll_cast improvements ( #35302 )
...
Make it possible to `poll_cast<>` from a normal non-poll type to a Poll<T>
Closes #35302
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35302 from ctiller:poll-review 216916e7c3
PiperOrigin-RevId: 590979951
1 year ago
Craig Tiller
6c86e79c95
[promises] Fix handling of `absl::Status` by `TrySeq` ( #34162 )
2 years ago
Craig Tiller
ed0ebb837e
[promises] A few tweaks to poll ( #32588 )
...
Looking for something else I made some test additions, code tweaks to
make `Poll<>` better.
<!--
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.
-->
2 years ago
Craig Tiller
0d7b34451a
[promises] Make Poll<T> its own type, not a variant<> ( #32515 )
...
Avoids some compilation problems on older MSVC's, opens the door for
some future optimizations.
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Yash Tibrewal
aa11978541
Fix include guards for src/ and test/ directories ( #32167 )
...
* Fix include guards for src/ and test/ directories
* Sanity
* Update new files
2 years ago
Craig Tiller
52d3c295f6
[promises] Move Empty to be first class ( #31888 )
2 years ago
Craig Tiller
beb5bdca62
[promises] Promise based grpc_call ( #29598 )
...
* Automated change: Fix sanity tests
* fix
* fixes
* fixup allocator story - we should require a context
* fixes
* doodling
* context scribbles
* [arena] Add ManagedNew(), gtest-ify test
Add a ManagedNew() method to Arena that calls the relevant destructor at Arena destruction time.
There are some cases coming up in the promise based call work where this becomes super convenient, and I expect it's likely that there are other places that's true too.
* Automated change: Fix sanity tests
* progress
* lalalal
* progress
* x
* Automated change: Fix sanity tests
* fixes
* fix
* fix
* fix
* fix
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* fixes
* fixes
* fixes
* Automated change: Fix sanity tests
* progress
* fix client streaming
* handle invalid flags
* Automated change: Fix sanity tests
* no logging
* progress
* progress
* channelz
* tentative fix
* fix
* lalala
* Automated change: Fix sanity tests
* more readable trace
* logging improvements, leading to bug fix in connected channel
* fix
* improve debuggability
* fix
* progress to better refcounting
* progress
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix
* fix
* fix
* threading
* Automated change: Fix sanity tests
* fix
* fix
* improve debuggability
* fix
* fix
* Automated change: Fix sanity tests
* fix
* make promises runtime configurable
* Automated change: Fix sanity tests
* fix
* fix build
* fix broken test
* clean up api
* deal with stats better
* peer string!
* introduce fragments
* Automated change: Fix sanity tests
* use fragments
* stuff
* [promises] Add AtomicWaker type
* Automated change: Fix sanity tests
* fix
* fix write path
* fix
* polling-entity-hell
* review feedback
* fix
* fix
* fix
* fix
* make an experiment
* [experiments] Make output more diffable/readable
* Automated change: Fix sanity tests
* buildifier sized indentations
* fix
* fix
* Automated change: Fix sanity tests
* fix?
* fix promise
* prototype
* progress
* implement new api
* Revert "fix promise"
This reverts commit ded85e7d19
.
* Revert "Revert "fix promise""
This reverts commit c2acef1958
.
* progress
* done
* Automated change: Fix sanity tests
* fix
* fix
* fix
* Automated change: Fix sanity tests
* updates
* review feedback
* first pass feedback
* Automated change: Fix sanity tests
* review feedback
* naming
* better-logs
* fix test
* Automated change: Fix sanity tests
* comments
* fix
* progress
* validation
* iwyu
* fix
* ugh this needs to be any
* fix flakiness in asan
* call tracing
* cleanup unused args
* fix windows
* fix build
* ugh
* fix tsan race
* threading-fix
* bloat1
* bloat2
* bloat3
* fix
* unused-args
* sanity
* iwyu
* fix
* fix
* this is ok
* iwyu, exchange
* fix
* Automated change: Fix sanity tests
* fix ee lifetime issue
* fix
* review feedback
* Automated change: Fix sanity tests
* comment
* x
* fix tsan race
* iwyu
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
87acbadba1
Third attempt: Convert client_auth_filter to promises ( #28968 )
...
* wip
* Automated change: Fix sanity tests
* fixes
* progress
* progress
* grpc compiles
* Automated change: Fix sanity tests
* fixing tests
* x
* progress
* better code
* Automated change: Fix sanity tests
* progress
* progress
* windows fix
* Make Duration metadata trivial
* better message
* fix
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix
* progress
* fixes
* fix
* fix
* spam
* un-disable errantly disabled tests
* gain insight
* Automated change: Fix sanity tests
* fixes
* fixes
* fix
* debug
* tweak
* fix
* fix timeout
* fix comment
* fixes
* x
* better test
* tests
* Automated change: Fix sanity tests
* missed file
* fix
* x
* fix
* fix
* fix
* fix
* Automated change: Fix sanity tests
* fix
* merge
* Automated change: Fix sanity tests
* Revert "Revert "Revert "Revert "Convert client_auth_filter to promises (#28767 )" (#28951 )" (#28952 )" (#28967 )"
This reverts commit 0f73576b17
.
* fix potential memory leak
* Fix behavior if >1 pending request
* fix
* fix nullptr access
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
0f73576b17
Revert "Revert "Revert "Convert client_auth_filter to promises ( #28767 )" ( #28951 )" ( #28952 )" ( #28967 )
...
This reverts commit 235098de22
.
3 years ago
Craig Tiller
235098de22
Revert "Revert "Convert client_auth_filter to promises ( #28767 )" ( #28951 )" ( #28952 )
...
* Revert "Revert "Convert client_auth_filter to promises (#28767 )" (#28951 )"
This reverts commit 5bfe38f10f
.
* fix
3 years ago
Craig Tiller
5bfe38f10f
Revert "Convert client_auth_filter to promises ( #28767 )" ( #28951 )
...
This reverts commit cadce47ebf
.
3 years ago
Craig Tiller
cadce47ebf
Convert client_auth_filter to promises ( #28767 )
...
* Convert client_auth_filter to promises
* outline
* x
* x
* fixes
* remove-spam
* Async sequences over iterators
* iterate
* better semantics
* fix
* clang-tidy
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fixes
* fixes
* Automated change: Fix sanity tests
* progress
* progress
* progress
* progress
* progress
* credentials_test passes
* Automated change: Fix sanity tests
* Make Activity more of an interface
Move mutex and wakeup logic into a new class between PromiseActivity<>
and Activity (so that the sharing can persist), but make Activity closer
to a pure interface, so that whilst we migrate code we can implement
better fakes without forcing allocation.
* fixes
* Automated change: Fix sanity tests
* fixes
* test the awful failure
* x
* fix typo
* fix race
* 4.9
* x
* review feedback
* review feedback
* Automated change: Fix sanity tests
* review feedback
* replace AuthMetadataContext interface with GetRequestMetadataArgs struct
* Automated change: Fix sanity tests
* fix merge
* Fixup
* fix
* fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
Co-authored-by: Mark D. Roth <roth@google.com>
3 years ago
Craig Tiller
e602169fa0
First pass IWYU tooling ( #27857 )
...
* First pass IWYU tooling
* fix
* Automated change: Fix sanity tests
* Update iwyu.sh
* Update iwyu.sh
* Update Dockerfile.template
* Update iwyu.sh
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
79097afb56
Standardize on grpc/support/port_platform.h usage in src/core/... ( #27568 )
4 years ago
Craig Tiller
3d26032736
Poll type for promises library ( #26907 )
...
* Poll type for promises library
* sanitized
* suppressions
* Add a comment
4 years ago