Craig Tiller
6b95573959
Reland: [event_engine] Thread pool that can handle deletion in a callback ( #30996 )
...
* Revert "Revert "Revert "Revert "[event_engine] Thread pool that can handle deletion in a callback"" (#30973 )" (#30995 )"
This reverts commit dffdd8c083
.
* tp-fix
* signalling fix
* better test
* use grpc_core::Notification
* comment
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
d9ac89a441
[gprpp] absl::Notification polyfill ( #31008 )
...
* [gprpp] absl::Notification polyfill
* grpc_core::
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
apolcyn
dfb432c217
Revert "Revert "[chttp2] fix stream leak with queued flow control update and absence of writes ( #30907 )" ( #30991 )" ( #30992 )
...
* properly synchronize grpc_iomgr_count_objects_for_testing
* Revert "Revert "[chttp2] fix stream leak with queued flow control update and absence of writes (#30907 )" (#30991 )"
This reverts commit 0f2a0f5fc9
.
2 years ago
Craig Tiller
dffdd8c083
Revert "Revert "Revert "[event_engine] Thread pool that can handle deletion in a callback"" ( #30973 )" ( #30995 )
...
This reverts commit fed749d100
.
2 years ago
Craig Tiller
0f2a0f5fc9
Revert "[chttp2] fix stream leak with queued flow control update and absence of writes ( #30907 )" ( #30991 )
...
This reverts commit d8f98fb1a7
.
2 years ago
apolcyn
d8f98fb1a7
[chttp2] fix stream leak with queued flow control update and absence of writes ( #30907 )
...
fix stream leak caused by queued flow control update and absence of writes
2 years ago
Craig Tiller
fed749d100
Revert "Revert "[event_engine] Thread pool that can handle deletion in a callback"" ( #30973 )
...
* Revert "Revert "[event_engine] Thread pool that can handle deletion in a callback (#30763 )" (#30972 )"
This reverts commit ccc787a020
.
* Update thread_pool.cc
2 years ago
Richard Belleville
ccc787a020
Revert "[event_engine] Thread pool that can handle deletion in a callback ( #30763 )" ( #30972 )
...
This reverts commit f6e1cf1dc0
.
2 years ago
Craig Tiller
f6e1cf1dc0
[event_engine] Thread pool that can handle deletion in a callback ( #30763 )
...
* [event_engine] Thread pool that can handle deletion in a callback
* missed file
* Automated change: Fix sanity tests
* simplify memory model
* review feedback
* Automated change: Fix sanity tests
* detect-stuckness
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Vignesh Babu
0867393bde
Revert "Revert "Forking tcp socket utils for posix event engine endpoints"" ( #30949 )
...
* Revert "Revert "Forking tcp socket utils for posix event engine endpoints (#30383 )" (#30946 )"
This reverts commit 33b3fe89c4
.
* make test robust
2 years ago
Mark D. Roth
aaec373a10
Second attempt: XdsClient: add unit test and fix watcher notification bugs ( #30943 )
...
* Revert "Revert "XdsClient: add unit test and fix watcher notification bugs (#30823 )" (#30942 )"
This reverts commit 6d2c4a8314
.
* use GRPC_CUSTOM_JSONUTIL macro for JsonPrintOptions
2 years ago
Richard Belleville
33b3fe89c4
Revert "Forking tcp socket utils for posix event engine endpoints ( #30383 )" ( #30946 )
...
This reverts commit d7cce32449
.
2 years ago
Richard Belleville
6d2c4a8314
Revert "XdsClient: add unit test and fix watcher notification bugs ( #30823 )" ( #30942 )
...
This reverts commit bcd8c991e6
.
2 years ago
Vignesh Babu
d7cce32449
Forking tcp socket utils for posix event engine endpoints ( #30383 )
...
* convert tcp code to use EndpointConfig and successfully compile
* regenerate projects
* copying config options used in tcp code to create map backed endpoint configs
* fix minor build issues
* fix includes in tests
* fix some build and test issues
* modifying endpoint config definition from an abstract interface into a concrete implementation
* minor fix
* add unreachable code check
* fix some windows build issues
* fix more build issues
* adding a grpc_tcp_generic_options struct to hold data extracted from EndpointConfig
* code formatting
* simplify
* fix sanity checks
* fix windows issues
* some posix fixes
* disabling copy constructor and copy assignment operator for endpoint config
* fix sanity checks
* fix syntax error
* fix weird formatting
* fix build issue
* fix review comments
* reverting un-necessary change
* remove channel args completely from windows impl since it is unused
* remove unused headers and fix usage in endpoint_pair_windows.cc
* cleanup
* cleanup
* fix some initialization issues
* re-generate projects
* removing some files
* fix ifdef for windows
* fixing windows build issue due to improper header file include
* Automated change: Fix sanity tests
* start
* regenerate-projects
* delete some files
* Automated change: Fix sanity tests
* review comments
* add comment
* review comments
* rename GetPointer to GetVoidPointer
* cleanup
* Automated change: Fix sanity tests
* removing EndpointConfig::Get method
* Automated change: Fix sanity tests
* cleanup
* fix
* minor fix
* fix
* update
* fix BUILD
* update
* fix sanity
* minor additions to configure global tcp user timeout values
* fix build syntax
* fix build error
* Add more unit tests
* fix msan issue
* add comment
* adding rcv lowat helper to socket wrapper
* fix sanity
* sanity
* iwyu sanity
* fix macos issue
Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
2 years ago
Mark D. Roth
bcd8c991e6
XdsClient: add unit test and fix watcher notification bugs ( #30823 )
...
This adds a unit test for XdsClient and fixes several watcher-notification bugs found in the process. Specifically:
- When an ADS stream fails or an xDS channel reports a connectivity failure, report an error only to the watchers for resources being subscribed to on that particular channel, not to watchers on other channels.
- Cache the error status for the channel, so that if a new watcher is started after the channel reports the error, we can immediately report that error to the new watcher.
- If a resource is NACKed and has not been previously cached, or does not exist, report that fact to any new watcher that may be started later.
- If a resource in an ADS response is unparseable but is wrapped in a `Resource` wrapper, we do know its name, so record the validation failure in the cache and report it to the watchers.
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
Craig Tiller
b463cabeec
Update flaky tests ( #30873 )
...
* Update flaky tests list
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Mark D. Roth
bf9304ef17
client_channel, client_auth: rewrite disallowed status codes from the control plane ( #30789 )
...
* client_channel: rewrite illegal status codes from control plane
* rewrite illegal status codes for call creds
* move fail_lb policy out of retry_lb_fail test so it can be reused
* test resolver and LB policy status rewrites
* add test for ConfigSelector status rewriting
* attempt to add client_auth filter unit test
* fix client_auth_filter test
* cleanup test
* fix build
* fix some memory leaks
* Automated change: Fix sanity tests
* Update client_auth_filter_test.cc
* fix build
* code review comments
* clang-tidy
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
Co-authored-by: Craig Tiller <ctiller@google.com>
2 years ago
Craig Tiller
622dd886e6
Update flaky tests list ( #30771 )
...
* Update flaky tests list
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
AJ Heller
dffc20df69
Add tests for TimerManager ( #30758 )
...
* Add tests for TimerManager
* Automated change: Fix sanity tests
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
2 years ago
Craig Tiller
18da150733
[metadata] Reduce size by packing ( #30474 )
...
* [metadata] Reduce size by packing
* fix
* comment
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* windows workaround?
* Revert "fix"
This reverts commit 925211164b
.
* iterate encodables correctly
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
f38e6ad561
[flaky] Update flakiness of tests ( #30689 )
...
* [flaky] Update flakiness of tests
* Automated change: Fix sanity tests
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
Ming-Chuan
24385b1982
Disable end2end_binder_transport_test on some platforms ( #30602 )
...
* Disable end2end_binder_transport_test on some platforms
The following test case is flaky on windows
End2EndBinderTransportTestWithDifferentDelayTimes/End2EndBinderTransportTest.UnaryCallServerTimeout/1,
where GetParam() = 10ns
Binder transport won't be run on platform other than Android so it
should be OK to disable the test on some platform.
* Regenerate projects.
2 years ago
AJ Heller
d025c1732f
Revert "Reland: Make GetDefaultEventEngine return a shared_ptr ( #30563 )" ( #30573 )
...
This reverts commit ee7c0a8e4c
.
2 years ago
Vignesh Babu
009dadbb74
Fork iomgr traced buffer list implementation for posix event engine ( #30539 )
...
* Forking iomgr internal_errqueue defines for posix event engine
* fix BUILD file
* start
* update
* sanity
* regenerate_projects
* Automated change: Fix sanity tests
* review comments
* review comments
* Automated change: Fix sanity tests
* fix BUILD
* add no_windows tag
* minor typo
* typo
* review comments
* regenerate projects
* fix BUILD issue
* iwyu fixes
Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
2 years ago
AJ Heller
ee7c0a8e4c
Reland: Make GetDefaultEventEngine return a shared_ptr ( #30563 )
...
* Reland: "Make GetDefaultEventEngine return a shared_ptr (#30280 )"
This reverts commit 45959e7cc1
.
* Attempted fix with NoDestruct
* Not a process-wide singleton for the type. Just a NonDestruct
* fix
2 years ago
AJ Heller
45959e7cc1
Revert "Make GetDefaultEventEngine return a shared_ptr ( #30280 )" ( #30558 )
...
This reverts commit 4df74f2b4c
.
2 years ago
AJ Heller
4df74f2b4c
Make GetDefaultEventEngine return a shared_ptr ( #30280 )
...
This works around valgrind memory leaks by giving EventEngines a fixed
lifetime. We eventually want ref-counted EventEngines internally, so this is
a step in the right direction as well.
2 years ago
AJ Heller
0c5b6171ad
EventEngine Forkables ( #30473 )
...
A (currently) pthread_atfork-based fork support mechanism, allowing EventEngines - or any other object that wants to implement the Forkable interface - respond to forks.
2 years ago
Craig Tiller
15a81131a8
[c++] Add a non-destructed type ( #30491 )
...
* [c++] Add a non-destructed type
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* comment
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Mark D. Roth
af634e19b4
Declarative JSON parser ( #30442 )
...
* Declarative JSON parser
* Automated change: Fix sanity tests
* fix
* shrinking stuff a little
* static vtables
* separate fns
* simpler?
* make maps work
* windows fixes
* Automated change: Fix sanity tests
* simplify code
* Automated change: Fix sanity tests
* vtable-test
* dont always create vec/map impls for every type
* comments
* make error consistent
* move method private
* progress
* durations!
* Automated change: Fix sanity tests
* fix
* fix
* fix
* Automated change: Fix sanity tests
* post-load
* Automated change: Fix sanity tests
* document JsonPostLoad() and add static_assert
* don't copy field names, to avoid length limitations
* use absl::Status
* accept either string or number for numeric values
* add test for direct data member of another struct type
* remove unused method
* add support for retaining part of the JSON wirthout processing
* update test for changes in Json::Parse() API
* add absl::optional support
* Automated change: Fix sanity tests
* fix tests, improve error messages, and add overload to parse to existing object
* remove overload of LoadFromJson()
* change special case for Json to instead use Json::Object
* fix build
* improve error structure, add missing types, and improve tests
* clang-format
* Automated change: Fix sanity tests
* fix build
* add LoadJsonObjectField(), add LoadFromJson() overload that takes an ErrorList parameter, and add tests for parsing bare top-level types
* fix msan
* Automated change: Fix sanity tests
* fix error message
* Automated change: Fix sanity tests
* add mechanism to conditionally disable individual fields
* fix build
Co-authored-by: Craig Tiller <craig.tiller@gmail.com>
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
Co-authored-by: Craig Tiller <ctiller@google.com>
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
AJ Heller
c752a6b25e
Reland: Windows IOCP implementation for the WindowsEventEngine ( #30480 )
...
Reverts #30466 , relanding #30389 . Requires a cherrypick.
2 years ago
AJ Heller
9d4e0e17fe
Revert "Windows IOCP implementation for the WindowsEventEngine ( #30389 )" ( #30466 )
...
This reverts commit 52402afdd4
.
2 years ago
AJ Heller
52402afdd4
Windows IOCP implementation for the WindowsEventEngine ( #30389 )
...
This is a partial fork of the windows iomgr code - specifically the IOCP and Socket pieces - with some improved architecture and encapsulation. And the start of a WindowsEventEngine.
Once this code is used in a gRPC TCP context, I imagine a few issues will shake out. Also, getting sanitizers set up with MSVC will take a bit of work (see a commit referencing abseil and MSVC bugs to hack around).
I forked the IomgrEventEngine's posix poller interfaces in the hope of negotiating compatibility between the platforms, but the interfaces diverged a fair bit, and I'm doubtful we'll be able to use these "pollers" generically in the same TCP code. Reunification might not happen, and that's probably fine, we'll see how similar the TCP code looks once it's fleshed out.
I also extracted the IomgrEventEngine's timer piece into a separate component, usable by both engines.
2 years ago
AJ Heller
e18d335b0e
Add common EventEngine Closure types ( #30438 )
...
* Add common EventEngine Closure types
These have been written a few times, so let's standardize on a spot for
them.
* sanitize
* format
2 years ago
Esun Kim
7360d2ea82
gtestify test/core/iomgr: partial reland ( #30373 )
...
* Revert "Revert "gtestify test/core/iomgr (#30209 )" (#30362 )"
This reverts commit c7c0ba6f32
.
* -_-
* Regen
2 years ago
Craig Tiller
c7c0ba6f32
Revert "gtestify test/core/iomgr ( #30209 )" ( #30362 )
...
This reverts commit 5b49a1b4bd
.
2 years ago
Esun Kim
5b49a1b4bd
gtestify test/core/iomgr ( #30209 )
...
* gtestify test/core/iomgr
2 years ago
Mark D. Roth
201213c681
client channel: add tests for authority override precedence ( #30172 )
...
* client channel: add tests for authority override precedence
* add unit test
* Automated change: Fix sanity tests
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
Vignesh Babu
fbe051fb51
Forking the posix epoll1 poller for iomgr event engine ( #30135 )
...
* start
* Forking the posix epoll1 poller for event engine
* re-generate projects
* fix test
* fix sanity checks
* fix
* update fix
* more build issue fixes
* even more fixes
* add no_windows tag
* re-generate projects
* update comment
* cleanup
* Automated change: Fix sanity tests
* review comments
* fix tsan issue
* re-generate projects
* cleanup
* fix missing build dep
* fix mac build issue
* minor fix in test
* simplifying build graph
* re-generate projects
* fix macOS build issues
* review comments
* re-generate projects
* add missing generated file
* review comments
* fix sanity checks
* rename one more build target
* fix sanity checks
* retry fix sanity checks
Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
2 years ago
Craig Tiller
830940a103
[gprpp] Move time averaged stats to gprpp ( #30265 )
...
* move to gprpp
* use the shared thing
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Esun Kim
6bdc1810c9
gtestify test/core/slice ( #30198 )
...
* gtestify test/core/slice
* Fix
* fix
* fix
2 years ago
Esun Kim
34b380697d
gtestify test/core/http ( #30200 )
...
* Fix
* gtestify test/core/http
* Fix
* fix
2 years ago
Esun Kim
0f272f836d
gtestify test/core/gpr ( #30196 )
...
* fix
* gtestify test/core/gpr
* Fix
* fix
2 years ago
Esun Kim
57de9d7353
gtestify test/core/compression ( #30204 )
...
* gtestify core/compression
* Fix
2 years ago
Craig Tiller
b590d192dc
[build] Remove errant dependency ( #30291 )
2 years ago
Craig Tiller
3ec0e29bcf
[test] Convert cq verifier to C++ ( #30256 )
...
* [test] Convert cq verifier to C++
* Automated change: Fix sanity tests
* fix
* dead code
* strength reduction
* dead code
* fix
* when search/replace goes wrong
* review feedback
* review feedback
* cleanup
* fixes
* 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
Esun Kim
89fedf9a9d
Rollback gtestified minimal_stack_is_minimal_test ( #30275 )
2 years ago
Esun Kim
c0ec55d2f1
gtestify test/core/util ( #30195 )
...
* Gtestify cmdline_test
* gtestify histogram_test
* Fix
2 years ago