Craig Tiller
ad41fe96b6
[promises] Re-enable C++ end2end tests (with fixes) ( #32837 )
...
Makes some awkward fixes to compression filter, call, connected channel
to hold the semantics we have upheld now in tests.
Once the fixes described here
https://github.com/grpc/grpc/blob/master/src/core/lib/channel/connected_channel.cc#L636
are in this gets a lot less ad-hoc, but that's likely going to be
post-landing promises client & server side.
We specifically need special handling for server side cancellation in
response to reads wrt the inproc transport - which doesn't track
cancellation thoroughly enough itself.
<!--
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.
-->
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
8d2f70d53c
Reland "[promises] Convert call to a party" ( #32651 )" ( #32653 )
...
<!--
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.
-->
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Yash Tibrewal
29ce6463d1
Revert "[promises] Convert call to a party" ( #32651 )
...
Reverts grpc/grpc#32359
2 years ago
Craig Tiller
a9873e8357
[promises] Convert call to a party ( #32359 )
...
<!--
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.
-->
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
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
Craig Tiller
0ecc18ef0f
[promises] Party: an activity with many participant promises ( #32308 )
...
<!--
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.
-->
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
c9b47f8584
[promises] Remove TryConcurrently - it was the wrong idea ( #32298 )
2 years ago
Craig Tiller
0893fca089
[promises] Roll forward server promise calls with fixes ( #32261 )
...
* stuff
* spam-cleanup
* Revert "Revert "[promises] Server call (#31448 )" (#32260 )"
This reverts commit dbfb888e1f
.
* spam-cleanup
* Automated change: Fix sanity tests
* asserts-for-sanity
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
dbfb888e1f
Revert "[promises] Server call ( #31448 )" ( #32260 )
...
* Revert "[promises] Server call (#31448 )"
This reverts commit bbeb15006a
.
* clang-fmt
2 years ago
Craig Tiller
bbeb15006a
[promises] Server call ( #31448 )
...
* add experiment
* allow instantiation
* scratchings
* scratchings
* sniffly
* Automated change: Fix sanity tests
* fix
* fix
* fix
* Automated change: Fix sanity tests
* progress
* change pipe labels to enable server code to be written
* better api
* Automated change: Fix sanity tests
* progress
* [promises] Implementation of deadline for server-based-calls
* compression filter compiles again
* Automated change: Fix sanity tests
* fix
* server tracing fixes
* get client initial metadata
* progress
* progress
* server call surface progress
* Automated change: Fix sanity tests
* move payload
* server-progress
* recv-message-server-connchan
* logging
* fix context-gate
* recv fix@top
* Automated change: Fix sanity tests
* recv close on server
* top termination start
* [promises] Move Empty to be first class
* fixes
* fix
* flow control fix
* got to orphan!
* orphan
* call orphan
* spam cleanup
* fix
* new cancelation semantics
* progress
* large metadata fixes
* fix
* fix
* log
* better logs
* fix-chanz
* logging, necessaryness
* fix typo
* fixes
* fix
* fix
* fix-pipe
* cleanup logging
* fix
* build-fix
* fix
* Automated change: Fix sanity tests
* logging
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* better primitive
* Revert "better primitive"
This reverts commit 119b5ee244
.
* fix
* fix
* trrracing
* Automated change: Fix sanity tests
* get-trailing-metadata
* cancellation
* Automated change: Fix sanity tests
* add transform pipeline to pipe
* add transform pipeline to pipe
* interceptor lists
* new server initial md api into filters
* convert connected_channel
* convert call
* initial promise based filter conversion
* convert promise based filter
* build fixes
* compile fix
* fixes
* fix ordering
* fixes
* check-metadata
* revert later: debug code
* better debug
* fix metadata ordering with messages in promise based filter
* fix ordering problem between batch completion and promise completion
* properly handle failure on receive message path on client
* more debug, fix a repoll bug in pbf
* Automated change: Fix sanity tests
* fixes
* Automated change: Fix sanity tests
* cleanup logging
* fixes
* missing file
* fixes
* logging
* Automated change: Fix sanity tests
* fixes
* convert logging filter
* fix
* Automated change: Fix sanity tests
* fix bad server response test
* Revert "Disable logging test (#32049 )"
This reverts commit 5fc92eaeae
.
* fix
* Automated change: Fix sanity tests
* fix memory leaks, logging
* Automated change: Fix sanity tests
* slice refcount debugging
* asan-canaries
* leak-fix
* leak-fix
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* fix
* Automated change: Fix sanity tests
* fix
* remove mistaken line
* add-comment
* fix refcounting bug
* Automated change: Fix sanity tests
* rename variable
* renames
* bleh
* carry pipe close status from bottom of pipe to top to appease
recv-close-on-server
* backport cancellation
* Revert "carry pipe close status from bottom of pipe to top to appease"
This reverts commit fa33301dcd
.
* fix
* Automated change: Fix sanity tests
* review-feedback
* comment-ordering
* monostate
* renames
* undo-review-feedback
* fix
* review-feedback
* review-feedback
* fix
* review-feedback
* drop debugloc constructor
* interceptor-list-rev-feedback
* interceptor-list-rev-feedback
* pipe test
* review-feedback
* undo-mistaken-change
* Automated change: Fix sanity tests
* pipe error state
* detect send/recv failures and report
* iwyu, build
* fix submodules
* fix
* warning
* cleanup
* Automated change: Fix sanity tests
* fix
* fix for windows
* fix
* null pointer fix
* iwyu
* gen projex
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
2caa79feeb
[promises] Multi-producer, single-consumer for inter-activity comms ( #31927 )
...
* mpsc
* Automated change: Fix sanity tests
* tests
* tests
* Automated change: Fix sanity tests
* comments
* comments
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
9beb72836e
[event_engine+promises] EventEngine based wakeup scheduler for activities ( #31926 )
...
* eliminate activity* from wakers
* event engine activity wakeup scheduler
* Automated change: Fix sanity tests
* add exec ctx
* fix
* iwyu
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Cheng-Yu Chung
896bfe373f
Add missing included `try_seq.h` in `map_pipe.h` ( #31943 )
...
* Add missing included `try_seq.h` in `map_pipe.h`
* Automated change: Fix sanity tests
2 years ago
Craig Tiller
91083659fa
[promises] Cancellation callback ( #31863 )
...
* [promises] Cancellation callback
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
a116fa7e25
Revert "Revert "[chaotic-good] Reland basic frame serialization (#316… ( #31637 )
...
* Revert "Revert "[chaotic-good] Reland basic frame serialization (#31631 )" (#31635 )"
This reverts commit 4e2b936e88
.
* windows fix?
2 years ago
Craig Tiller
4e2b936e88
Revert "[chaotic-good] Reland basic frame serialization ( #31631 )" ( #31635 )
...
This reverts commit 571e98f6d5
.
2 years ago
Craig Tiller
571e98f6d5
[chaotic-good] Reland basic frame serialization ( #31631 )
...
* Revert "Revert "[chaotic-good] Basic frame serialization/deserialization (#31257 )" (#31630 )"
This reverts commit e8ac147311
.
* fix build
2 years ago
Craig Tiller
e8ac147311
Revert "[chaotic-good] Basic frame serialization/deserialization ( #31257 )" ( #31630 )
...
This reverts commit 8185a56322
.
2 years ago
Craig Tiller
8185a56322
[chaotic-good] Basic frame serialization/deserialization ( #31257 )
...
* [chaotic-good] initial sketch of frame serialization
* Automated change: Fix sanity tests
* tinkering
* fix up
* add tests,fuzzers
* more tests
* fix
* fuzzers
* Automated change: Fix sanity tests
* fix-build
* Automated change: Fix sanity tests
* fix inf loop
* fix refcounting bug
* fixdeps
* fix
* fix continuations
* iwyu
* fix build
* fix
* build fixes
* better split
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fixes
* iwyu
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
2f9ac46a5d
Revert "Revert "[promise] CallPushPull -> more general TryConcurrently ( #31429 )" ( #31480 )" ( #31481 )
...
* Revert "Revert "[promise] CallPushPull -> more general TryConcurrently (#31429 )" (#31480 )"
This reverts commit 821443e9b5
.
* fix
2 years ago
AJ Heller
821443e9b5
Revert "[promise] CallPushPull -> more general TryConcurrently ( #31429 )" ( #31480 )
...
This reverts commit 11a8f66cca
.
2 years ago
Craig Tiller
11a8f66cca
[promise] CallPushPull -> more general TryConcurrently ( #31429 )
...
* [promise] CallPushPull -> more general TryConcurrently
* Automated change: Fix sanity tests
* add comment
* simplify
* debugassert
* less vtable init
* smaller shared
* iwyu
* fix
* Automated change: Fix sanity tests
* fix
* fix
* fix miscompiles on windows'
* Automated change: Fix sanity tests
* fix
* iwyu
* Automated change: Fix sanity tests
* review feedback
* Automated change: Fix sanity tests
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
58c628a7ad
[promise] Introduce map_pipe, cleanup factories ( #31430 )
...
* [promise] Introduce map_pipe, cleanup factories
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Yash Tibrewal
5f6c357e74
Move some targets from //: to //src/core: ( #31402 )
...
* temp
* temp
* temp
* top BUILD builds
* everything builds
* buildify
* temp fix_build_deps change
* fix gpr_atm
* additional changes
* fix build files
* nofixdeps
* Generate projects
* json_args
* fix context
* Generate projects
* Sprinkle some avoid_dep tags
* Run fix_build_deps
* Remove additional avoid_dep
* Revert some targets
* grpc_mock_cel
2 years ago
Craig Tiller
b0a0e8983f
[promises] ForEach fixes ( #31300 )
...
* [promises] ForEach fixes
* Automated change: Fix sanity tests
* first pass fixes
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
0057598fed
[sleep] Add a test for robustness with errant event engines ( #30622 )
...
* [sleep] Make this robust against poorly implemented event engines
* Automated change: Fix sanity tests
* Reland x2: Make GetDefaultEventEngine return a shared_ptr
* x
* [sleep] Add test for sleep robustness with bad event engines
* Automated change: Fix sanity tests
* fix
* fix
* Automated change: Fix sanity tests
* Update sleep_test.cc
* Update mock_event_engine.h
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
Co-authored-by: AJ Heller <hork@google.com>
2 years ago
Craig Tiller
a23eae84c9
Revert "[flakes] Update flakiness ( #31121 )" ( #31173 )
...
This reverts commit bdc799af73
.
2 years ago
Craig Tiller
bdc799af73
[flakes] Update flakiness ( #31121 )
...
* update
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
bc4f98bb36
[build] Fixes for experiments, poll strategy ( #31042 )
...
* fix
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
e705b2e3c7
[resource_quota] Move experiments to the experiments framework ( #30830 )
...
* fix
* fix tests
* fix
* Automated change: Fix sanity tests
* better expansion
* bleh
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
f573fd44f9
[test] Semi-automatic flaky test tracking ( #30638 )
...
* [test] Semi-automatic flaky test tracking
* fix
* Automated change: Fix sanity tests
* Update update_flakes.py
* fix formatting
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Cheng-Yu Chung
543b290203
Build Target Reorganization Part 1 ( #30518 )
...
* Clean up gpr_base
* Remove `avoid_dep` for target `gpr`
* Add alias `gpr_base` for `gpr` for compatibility
* Fix tool error
* Update
* Remove temporary `gpr_base`
* Remove unused `alt_gpr_base_legacy`
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
AJ Heller
5c743646e5
EventEngine::RunAt - promise/sleep ( #29726 )
...
* EventEngine::RunAt - promise/sleep
Also refactors time_util for easier conversion between
grpc_core::Timestamp/Duration to absl::Timestamp/Duration.
* move OnTimer to the state object
* generate_projects
* Automated change: Fix sanity tests
* undo time_util separation due to gpr_base dependency cycles
* less snark
* remove stale test & add missing unref
* Automated change: Fix sanity tests
* fix the auto-fixer's mistake (missing build dep)
* tidy
* rm Sleep::State
* Automated change: Fix sanity tests
* add missing exec_ctx into callback
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
Co-authored-by: Vignesh Babu <vigneshbabu@google.com>
3 years ago
Craig Tiller
9a46171833
Revert "Revert "[c++14] Remove Capture type ( #29327 )" ( #29748 )" ( #29749 )
...
This reverts commit d4aed9e615
.
3 years ago
Craig Tiller
d4aed9e615
Revert "[c++14] Remove Capture type ( #29327 )" ( #29748 )
...
This reverts commit 944c0b2ce9
.
3 years ago
Craig Tiller
944c0b2ce9
[c++14] Remove Capture type ( #29327 )
...
* Remove Capture type
* Automated change: Fix sanity tests
* update
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
736441f288
Call push/pull abstraction ( #29033 )
...
* push/pull impl
* comment
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
047642c5c4
Call finalization for promises ( #29008 )
...
* Call finalization for promises
* comment
* split out and test
* dont use promise_detail:: directly
* fix
* Automated change: Fix sanity tests
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
df943da2c4
Promise based sleeps ( #28722 )
...
* Promise based sleep
* Embrace absl::Status
* Automated change: Fix sanity tests
* Add another test, fix bug
* fix
* fix
* review feedback
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
d2d2d0650a
Allow MetadataMap to be a status in TrySeq ( #28490 )
...
* Enable metadata to be a 'status' for TrySeq
Begins to allow us to return trailing metadata and get the right
behaviors.
* comment
3 years ago
Craig Tiller
0bd1ab364b
Revert "Revert "Promise pipe redux ( #28319 )" ( #28364 )" ( #28400 )
...
* Revert "Revert "Promise pipe redux (#28319 )" (#28364 )"
This reverts commit 3df2a4ecea
.
* rephrase to be hopefully more readable to msvc
* golfing
3 years ago
Jan Tattermusch
3df2a4ecea
Revert "Promise pipe redux ( #28319 )" ( #28364 )
...
This reverts commit b9ea84ac9d
.
3 years ago
Craig Tiller
b9ea84ac9d
Promise pipe redux ( #28319 )
...
The original pipe implementation made a few assumptions:
* it should be used outside of arenas, implying allocation was expensive
* pipes would be fairly deep
With our expected implementation of the filter stack, pipes will max out at one to three stages, and so optimizations enabled by Filter seem to be actual pessimizations for our usual case.
Additionally we'll be operating inside of arenas and consequently memory allocation can be trivially cheap - and in doing so we can enable a far simpler implementation.
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
b95ed96b96
Revert "Revert "Move arena into resource quota ( #28008 )" ( #28292 )" ( #28293 )
...
This reverts commit 91edf92ce0
.
3 years ago
Craig Tiller
91edf92ce0
Revert "Move arena into resource quota ( #28008 )" ( #28292 )
...
This reverts commit ad424a2ebf
.
3 years ago
Craig Tiller
ad424a2ebf
Move arena into resource quota ( #28008 )
...
* new resource quota integration
* Automated change: Fix sanity tests
* fix
* fix
* fixes
* fixes
* fixes
* Automated change: Fix sanity tests
* fixes
* fixes
* Automated change: Fix sanity tests
* fixes
* fix
* fixes
* windows-fix
* fixes
* fixes
* fix
* fix-asan
* banned
* banned
* fixes
* clang-tidy-fix
* Automated change: Fix sanity tests
* fix-cronet
* review feedback
* review feedback
* Automated change: Fix sanity tests
* fixes
* bug fix
* fixes
* compile fix
* exclude megabyte size payloads from 1byte tests
* windows fix
* start moving ios
* keep moving windows
* Get windows compilation working.
* Automated change: Fix sanity tests
* better
* fixes
* remove slice buffer from memory_allocator.h
* Revert "remove slice buffer from memory_allocator.h"
This reverts commit 234a63b6e3
.
* ugh
* #fixtests
* pthread tls fixes
* Automated change: Fix sanity tests
* fixfixfix
* xxx
* add reset
* review feedback
* fix
* fix
* fixes
* fix
* mac progress
* cpp-impl-of
* rename ptr
* Automated change: Fix sanity tests
* memory-owner-is-a-memory-allocator
* fixes
* fix
* fix from prod
* fix
* Fix issue leading to bad pointers being returned on Windows.
* Automated change: Fix sanity tests
* fix multislice bug
* argh
* hyrums law fixes
* hyrums law fixes
* clang-format
* hyrums law fixes
* Move arena into resource quota
* Remove redundant constant
* fixup the tests
* Automated change: Fix sanity tests
* fiiixes
* Automated change: Fix sanity tests
* fixes
* Automated change: Fix sanity tests
* fixes
* fix
* fix
* Automated change: Fix sanity tests
* fixes
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
888a10d8a6
Reland arena based promises ( #28174 )
...
* Revert "Revert "Arena allocated promise (#28023 )" (#28171 )"
This reverts commit 9b07a81b1a
.
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
9b07a81b1a
Revert "Arena allocated promise ( #28023 )" ( #28171 )
...
This reverts commit 77b4ade1a7
.
3 years ago