Craig Tiller
584c0c0c98
[call-v3] Filter executor ( #35533 )
...
A call execution environment for the V3 runtime.
The `CallFilters` class will ultimately be a (private) member of `CallSpine`, and the `StackBuilder` component will be used by a channel when all of the filters it needs are known to allow the call spine to start processing a call.
This is accompanied by a reasonably extensive test suite.
I expect to fine tune semantics, implementation, and tests over the coming weeks/months as we iterate to bring up the rest of the pieces.
Closes #35533
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35533 from ctiller:filters 689c7b527b
PiperOrigin-RevId: 599220150
11 months ago
Craig Tiller
a100e90f97
[chttp2] Remove a bunch of mostly-rolled-out experiments ( #35426 )
...
- `memory_pressure_controller` finally - allows deletion of pid_controller throughout the codebase
- `overload_protection` - one of the http2 rapid reset mitigations
- `red_max_concurrent_streams` - another http2 rapid reset mitigation
Closes #35426
COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35426 from ctiller:new-years-cleanse 4651672e7e
PiperOrigin-RevId: 595205029
12 months ago
nanahpang
0cc9d16e9c
[chaotic-good] Implement a promise-based endpoint for chaotic-good transport to read & write to EventEngine::Endpoint. ( #33257 )
...
This PR is continuing the work of prototyping in
https://github.com/grpc/grpc/pull/31592 , and the design doc is at
[link](https://docs.google.com/document/d/1vRy0yse-d1heLQRmLPo_0figsTPXJAnNN84tBCAne_s/edit?pli=1&resourcekey=0-JvUPdq0LaZq8gMkgT9Pzlw#heading=h.qgvc5vr55ytg ).
<!--
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.
-->
1 year ago
Craig Tiller
0724a90fd8
Revert "Revert "[arena] pool allocator ( #31298 )" ( #31414 )" ( #31415 )
...
This reverts commit 2c11e56433
.
2 years ago
Alisha Nanda
2c11e56433
Revert "[arena] pool allocator ( #31298 )" ( #31414 )
...
This reverts commit 5e27b2df97
.
2 years ago
Craig Tiller
5e27b2df97
[arena] pool allocator ( #31298 )
...
* [arena] pool allocator
* add tests
* Automated change: Fix sanity tests
* better sizes
* iwyu
* Automated change: Fix sanity tests
* first pass cut fragments
* fix1
* fix
* Automated change: Fix sanity tests
* fix
* iwyu
* build-deps
* fix for windows
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
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>
2 years ago
Craig Tiller
05e6bf2e4a
[build] Add test/core/util, test/core/event_engine to auto build deps ( #30364 )
...
* [build] Add test/core/util, test/core/event_engine to auto build deps
* deal with suppressions
* fix suppressions
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* progress
* Automated change: Fix sanity tests
* fix
* fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Esun Kim
2cba5f80cf
gtestify test/core/transport ( #30210 )
...
* gtestify test/core/transport/
* Fix
* Fix2
* Fix
2 years ago
Craig Tiller
eb5ae61470
Reland (again) bytestream removal ( #29987 )
...
* Revert "Revert "Reland bytestream removal (#29911 )" (#29964 )"
This reverts commit e6c6840db3
.
* initial fc fuzzer
* fixes
* add rq to fc fuzzer
* fleshing things out
* Automated change: Fix sanity tests
* cleanup
* send with payload
* ensure if no reader no flow control tokens are granted
* remove some public methods
* remove bogus benchmarks
* account for pending size
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* better logic
* Automated change: Fix sanity tests
* fix
* fixes
* fuzz pending size
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* huh
* increase too short timeout
* review feedback
* review feedback
* fix u32 overflow
* fix
* robustness fixes for channelz_servicer_test
* fix
* Automated change: Fix sanity tests
* fix
* fix
* fix
* Automated change: Fix sanity tests
* dont send window updates if read closed
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
apolcyn
e6c6840db3
Revert "Reland bytestream removal ( #29911 )" ( #29964 )
...
* Revert "Reland bytestream removal (#29911 )"
This reverts commit 98dcba2807
.
* Automated change: Fix sanity tests
3 years ago
Craig Tiller
98dcba2807
Reland bytestream removal ( #29911 )
...
* Revert "Revert "Revert "Revert "[transport] Remove ByteStream (#29637 )" (#29890 )" (#29894 )" (#29910 )"
This reverts commit 713a1581d5
.
* fix
3 years ago
Craig Tiller
713a1581d5
Revert "Revert "Revert "[transport] Remove ByteStream ( #29637 )" ( #29890 )" ( #29894 )" ( #29910 )
...
This reverts commit 93cdc8b77e
.
3 years ago
Craig Tiller
93cdc8b77e
Revert "Revert "[transport] Remove ByteStream ( #29637 )" ( #29890 )" ( #29894 )
...
* Revert "Revert "[transport] Remove ByteStream (#29637 )" (#29890 )"
This reverts commit d53986657f
.
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
d53986657f
Revert "[transport] Remove ByteStream ( #29637 )" ( #29890 )
...
This reverts commit aacf0e252b
.
3 years ago
Craig Tiller
aacf0e252b
[transport] Remove ByteStream ( #29637 )
...
* A starter SliceBuffer implementation
* Add comments and fix sanity checks
* Minor fixes
* more minor fixes
* Addressing review comments and adding a slice_buffer_test
* fix sanity checks
* regenerate projects
* fixing undefined function error
* reverting changes from memory_allocator.cc and adding them to src/core/lib/slice/slice_buffer.cc to allow memory allocator lib to build correctly
* fix sanity checks
* adding an open source slice definition
* regnerate projects
* fix asan error
* Automated change: Fix sanity tests
* addressing review comments
* fix sanity checks
* regenerate projects
* update
* fix sanity checks
* Converting slice buffer to retarin ownership of the underlying ctype
* [slice_buffer] Introduce grpc_core::SliceBuffer
* add test
* Automated change: Fix sanity tests
* [byte-stream] Delete ByteStream
* progress
* progress
* missing files
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* progress
* sanity
* progress
* progress
* progress
* progress
* progress
* progress
* progress
* progress
* progress
* iwyu
* fix
* progress
* fix
* fix
* progress
* code compiles
* fix?
* bogus assert
* Automated change: Fix sanity tests
* fix
* fix
* fix?
* fix
* fix
* better expression of function
* fix?
* Automated change: Fix sanity tests
* x
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* add fullstack test without retry filter
* debug
* missing files
* gc
* fix h2_full_no_retry
* remove headers
* fixes
* Automated change: Fix sanity tests
* x
* fix
* fix
* fix
* progress
* x
* tear apart flow control
* continue itnegration
* fix
* Automated change: Fix sanity tests
* fix
* fix
* Automated change: Fix sanity tests
* cleanup
* Automated change: Fix sanity tests
* fix
* x
* x
* Revert "debug"
This reverts commit 0120a94492
.
* undo debug
* fix
* Automated change: Fix sanity tests
* better inproc
* fixes
* iwyu
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* fix stalled streams
* properly handle non-terminal trailers
* fix test
* fix channelz test
* fix subchannel_stream_client
* fix server load reporting
* review feedback
* review feedback
* review feedback
* review feedback
* Automated change: Fix sanity tests
* remove compression test from python
* fix
* x
* Automated change: Fix sanity tests
* iwyu fix
* Revert "remove compression test from python"
This reverts commit 5fe0512077
.
* cripple python tests
* Revert "fix"
This reverts commit 6df476b22f
.
* Automated change: Fix sanity tests
* review feedback
* Automated change: Fix sanity tests
* fix
* fix
* fix
* ugh
Co-authored-by: Vignesh Babu <vigneshbabu@google.com>
Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
AJ Heller
18a8f6aad9
Refactor end2end tests to exercise each EventEngine ( #29202 )
...
* Refactor end2end tests to exercise each EventEngine
* fix incorrect bazel_only exclusions
* Automated change: Fix sanity tests
* microbenchmark fix
* sanitize, fix iOS flub
* Automated change: Fix sanity tests
* iOS fix
* reviewer feedback
* first pass at excluding EventEngine test expansion
Also caught a few cases where we should not test pollers, but should
test all engines. And two cases where we likely shouldn't be testing
either product.
* end2end fuzzers to be fuzzed differently via EventEngine.
* sanitize
* reviewer feedback
* remove misleading comment
* reviewer feedback: comments
* EE test_init needs to play with our build system
* fix golden file test runner
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
3 years ago
Craig Tiller
4b881c5947
Remove grpc_mdelem ( #28267 )
...
* Automated change: Fix sanity tests
* content-type
* Automated change: Fix sanity tests
* clang-format
* fix
* Move colon prefixed metadata
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* try to fix windows failure
* try and scale sizes better
* ambiguity fix?
* wip metadatavalueasslice
* Fix status code for resource exhaustion
* Revert "Revert "Move a bunch of slice typed metadata to new system (#28107 )" (#28208 )"
This reverts commit 7717587063
.
* fix test
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* slice helper
* x
* noinline
* try and scale sizes better
* Automated change: Fix sanity tests
* fixes
* fix
* fix
* fixes
* fix build
* fix overflow
* progress
* Automated change: Fix sanity tests
* fix
* initial work
* progress
* fix
* fix
* Automated change: Fix sanity tests
* progress
* fix
* fix
* fix
* Automated change: Fix sanity tests
* fix
* compressor for path/authority
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* legalize
* legalize
* status-enc
* fmt
* fix
* fix
* fix
* fix
* fix/opt
* fix
* fix
* fix
* fix
* Automated change: Fix sanity tests
* fix
* comment
* fmt
* remove arg
* Automated change: Fix sanity tests
* remove name
* Automated change: Fix sanity tests
* sketch
* Automated change: Fix sanity tests
* progress
* add specialized encoders for compression metadata
* progress
* review feedback
* fix
* missoing files
* remove crud
* xxxxx
* more
* Small improvement in memory usage and performance
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* Fix caching
* Automated change: Fix sanity tests
* omg
* fix crash in alts
* default everything
* Automated change: Fix sanity tests
* review feedback
* fixes
* fixes
* fixes
* Automated change: Fix sanity tests
* speedup
* fix
* fix
* clang-format
* fixes
* progress
* fixes
* fixes
* Automated change: Fix sanity tests
* fix
* fix
* progress
* update timeout encoding algorithm
* Automated change: Fix sanity tests
* fix
* fix
* review feedback
* progress
* progress
* progress
* progress
* builds
* Automated change: Fix sanity tests
* remove debug code
* fix ub
* unname things
* coax compilers
* reduce failures
* fix
* fix
* fix
* fix
* cleanup
* compile fix
* preserve concatenation rule
* spew
* fix
* fix
* postfix operator++ for msvc
* fix
* fix
* remove unused code
* lower cost of hpack table construction
* fix refcounting
* review feedback
* fixes
* fixes
* support multivalued traits
* Automated change: Fix sanity tests
* fix
* clearer clear
* appeasing 4.9
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
1a2b459daa
Update timeout encoding algorithm ( #28346 )
...
* update timeout encoding algorithm
* Automated change: Fix sanity tests
* fix
* review feedback
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
e21505858f
Move some integer based metadata to the new system ( #28198 )
...
* Eliminate most of grpc_message metadata handling
* Eliminate most of host metadata handling
* Remove more callouts without fixing code
* fiiixes
* typo
* Automated change: Fix sanity tests
* try-shrink
* Automated change: Fix sanity tests
* size tweaks
* less tricks
* deunique
* commonize
* commonize
* Automated change: Fix sanity tests
* size tuning, fixes
* Automated change: Fix sanity tests
* fix
* size tuning, fixes
* remove constexpr
* fix
* reuse code
* fix
* tweak code
* more tweaks
* tell no lies
* fixes
* fixes
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* fix?
* fix binder
* fix
* fix
* fixes
* Automated change: Fix sanity tests
* fix
* initial refactoring
* optimize status encoding
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix
* try to fix windows failure
* try and scale sizes better
* ambiguity fix?
* wip metadatavalueasslice
* Fix status code for resource exhaustion
* Revert "Revert "Move a bunch of slice typed metadata to new system (#28107 )" (#28208 )"
This reverts commit 7717587063
.
* fix test
* Automated change: Fix sanity tests
* slice helper
* x
* noinline
* try and scale sizes better
* Automated change: Fix sanity tests
* fixes
* fix
* fix
* fix build
* fix overflow
* fix
* fix
* fix
* fix
* review feedback
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
0794973bbb
Reland user-agent metadata work ( #28109 )
...
* Revert "Revert "user-agent metadata trait, also: grpc_core::Slice is born (#27770 )" (#28108 )"
This reverts commit 89d08dad9d
.
* will it blend
* will it blend
* will it blend
* lcnagfmt
* sanity
* will it blend
* sleep @ end
* will it blend
* Revert "sleep @ end"
This reverts commit d6bca8ed3d
.
* review feedback
* review feedback
3 years ago
Jan Tattermusch
89d08dad9d
Revert "user-agent metadata trait, also: grpc_core::Slice is born ( #27770 )" ( #28108 )
...
This reverts commit 7a40f50cb3
.
3 years ago
Craig Tiller
7a40f50cb3
user-agent metadata trait, also: grpc_core::Slice is born ( #27770 )
...
* new slice api
* storage-classes
* Automated change: Fix sanity tests
* tweaks
* refinement
* refinement
* compiles
* Automated change: Fix sanity tests
* better impl
* convert to gtest
* clean
* fixes
* tests
* Automated change: Fix sanity tests
* more-tests
* clarity
* comments
* comments
* fixes
* comment-updates
* fixes
* spam
* Automated change: Fix sanity tests
* move transport size into transport!
* mebbefix
* fix type
* x
* fix-merge
* review feedback
* review feedback
* Automated change: Fix sanity tests
* meh
* review feedback
* fix
* resolve compile issue
* Remove slice_refcount dependency on RefCounted
* update init for channel_data in http_client_filter
* Automated change: Fix sanity tests
* remove banned function
* fixes
* will it blend
* will it blend
* fix refcount init
* fix
* fix comment
* Fix typo in bloat script
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Richard Belleville
468768865b
Make Buildifier Sanity Test Strict ( #27807 )
...
* Fix all lint errors in repo.
* Use strict buildifier by default
* Whoops. That file does not exist
* Attempt fix to buildifier invocation
* Add missing copyright
3 years ago
Craig Tiller
1df153f46e
Revert "Revert "Move metadata setting into HPackParser ( #27545 )" ( #27686 )" ( #27688 )
...
This reverts commit 0e6ced8800
.
3 years ago
Craig Tiller
0e6ced8800
Revert "Move metadata setting into HPackParser ( #27545 )" ( #27686 )
...
This reverts commit f57a1f7d8c
.
3 years ago
Craig Tiller
f57a1f7d8c
Move metadata setting into HPackParser ( #27545 )
...
* forward work to get append, limit check into parser
* further cleanup
* Remove chttp2_incoming_metadata_buffer
* Automated change: Fix sanity tests
* test fixes
* fix cronet
* wip
* first pass mementofication of parsing - libgrpc compiles
* further progress
* fixes
* fixes
* fix leak
* Automated change: Fix sanity tests
* fix leak
* fixes
* x
* improve fuzzer
* init ordering fix
* Update hpack_parser_table.h
* Update hpack_parser.cc
* Update hpack_parser_test.cc
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* i mustache myself why
* fix use after free
* Automated change: Fix sanity tests
* fixes
* eliminate second pass metadata - this is an illegal frame and fails the new parser
* handle mementos with size > sizeof(intptr_t)
* fix
* add parsed metadata header, test
* Automated change: Fix sanity tests
* fix includes
* phase1
* phase2
* Update parsed_metadata.h
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
d1e01ac139
Add a test for a (now-illegal) build file construct ( #27602 )
...
* Add a test for a (now-illegal) build file construct
* add to test suite!
* fix
* fix
* fix syntax
3 years ago
Craig Tiller
91a2db9bc2
Make deadline the first metadata trait ( #27468 )
3 years ago
AJ Heller
a63f188153
Add conversion method for absl::Status to grpc_error* ( #25896 )
4 years ago
Lidi Zheng
c34bef4ca4
Format all Bazel files with buildifier
5 years ago
Mark D. Roth
cb67811c47
Revert "Merge pull request #20407 from markdroth/transport_connectivity_state_watcher_revert"
...
This reverts commit 48550de866
, reversing
changes made to 24b529e408
.
5 years ago
Mark D. Roth
33f139b6e6
Revert "Merge pull request #20255 from markdroth/transport_connectivity_state_watcher"
...
This reverts commit 0f5a111aad
, reversing
changes made to 1276a8f628
.
5 years ago
Jan Tattermusch
b8a32c0cff
temporarily disable failing tests on windows
5 years ago
Mark D. Roth
ece8fd6642
Change transport connectivity watch API to not be lossy.
5 years ago
Jan Tattermusch
6ebc1c616f
set uses_polling=False for some bazel tests
5 years ago
Esun Kim
3c6bb96a1f
Add test for static elements
5 years ago
yang-g
67742ef63f
Fix BUILD files. Manually edit bzl files
6 years ago
adelez
5bdd9a8cb9
Revert "Revert "Add suppressions to sanitizers for bazel builds""
7 years ago
Nicolas Noble
43557fee0b
Revert "Add suppressions to sanitizers for bazel builds"
7 years ago
Adele Zhou
4cd659505c
Add data param to grpc_cc_library
7 years ago
Mark D. Roth
3d8b32d8b3
Convert byte_stream API to C++.
7 years ago
Mark D. Roth
718c8341ca
Retry support.
7 years ago
Yash Tibrewal
77532036b6
BUILD changes. test languauge to C++
7 years ago
Yash Tibrewal
e586324627
BUILD files changes for bazel
7 years ago
Craig Tiller
0950ea734c
Fix Bazel build
7 years ago
Craig Tiller
247b23114d
C++ize PidController
7 years ago
Craig Tiller
03b3247cec
Fix build
7 years ago
Craig Tiller
50ca35e3e6
Fix test
7 years ago
Nicolas "Pixel" Noble
2bc5e3ac40
Moving visibility and package creation to the build system.
7 years ago