Esun Kim
3c96517fc0
Simplified GRPC_ERROR_CREATE macros ( #31222 )
...
* Simplified GRPC_ERROR_CREATE macros
* Code migration
2 years ago
Cheng-Yu Chung
4ba0f9afb5
Revert "Revert "Remove `include/grpcpp/impl/codegen/client_callback.h` ( #31005 )" ( #31079 )" ( #31087 )
...
This reverts commit da08fe1d6f
.
2 years ago
Mark D. Roth
5178332802
XdsClient: avoid nesting result in XdsResourceTypeImpl ( #31224 )
...
* XdsClient: avoid nesting result in XdsResourceTypeImpl
* fix xds_endpoint_resource_type_test
* fix sanity
2 years ago
Vignesh Babu
cc29a3a1d2
Add testonly attribute to mock_event_engine ( #31235 )
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
Cheng-Yu Chung
0e8a6515df
Remove `include/grpcpp/impl/codegen/client_context.h` ( #31006 )
...
* Remove `include/grpcpp/impl/codegen/client_context.h`
* Update
* Update
2 years ago
Craig Tiller
03c049b14f
[chttp2] Fix performance regression for small stream sends ( #31180 )
...
* [chttp2] Fix performance regression for small stream sends
* fix
* comment
* comment
* fix
2 years ago
Esun Kim
347bf1a1f4
Removed GRPC_ERROR_[INT|STR] macros ( #31195 )
...
* Clean-up which
* Reformat
2 years ago
Craig Tiller
7ecca97c05
[flaky] Reduce test size ( #31210 )
2 years ago
Craig Tiller
66c8e098ee
[slice] Remove murmur implementation ( #31118 )
...
* [slice] Remove _internal variants of APIs
* Automated change: Fix sanity tests
* fix
* reduce bloat
* fixes
* Automated change: Fix sanity tests
* murmurings
* Automated change: Fix sanity tests
* progress
* Automated change: Fix sanity tests
* fix
* fix
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Esun Kim
4bd27c524a
More changes ( #31194 )
2 years ago
Anirudh Ramachandra
3e648e3de7
Add support to explicitly add priority for the handshakers using enums ( #30971 )
...
Currently the order of the handshakers is controlled by a single bool(at_start). This doesn't allow for more complex use cases where the handshaker has to be done before tcp connect handshaker for example.
By explicitly adding enums that specify the priority, we allow for a cleaner abstraction for registering handshakers.
2 years ago
Vignesh Babu
6e15936d85
Make event engine client test more robust ( #31187 )
...
* Minor event engine related cleanup
* make client_test more robust
* cleanup
* regenerate_projects
* review comments
* iwyu
* review comments
* typo
2 years ago
Vignesh Babu
e7ad460c7b
Event Engine related minor cleanup ( #31188 )
...
* Minor event engine related cleanup
* regenerate_projects
* fix test
* iwyu
2 years ago
Craig Tiller
db5fe72da9
[tsan] Threadsafe strerror implementation ( #31167 )
...
* fix
* spread
* fix
* Automated change: Fix sanity tests
* fix
* remove unnecessary .c_strs
* lashes
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Vignesh Babu
7655858e93
Reland tcp endpoints for posix event engine ( #31150 )
...
* Revert "Revert "Tcp endpoint implementation for posix event engine. (#30559 )" (#31134 )"
This reverts commit 5fa37322cb
.
* make tx zero-copy more robust
* make tx zero-copy more robust
* typo
* fix
* re-enable commented code
* sanity
* sanity again
* Add parsing of /etc/security/limits.d directory
* review comments
* review comments
* typo in copyright
* missing newline
* sanity
* sanity
* iwyu
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
Vignesh Babu
e1e1f6181f
Util to load file contents into grpc_core::Slice ( #31176 )
...
* Util to load file contents into grpc_core::Slice
* Add test
* iwyu
* iwyu again
2 years ago
AJ Heller
6cac641c64
EventEngineFactoryReset - remove custom factory and reset default engine ( #30554 )
...
* EventEngineFactoryReset - remove custom factory and reset default engine
* fix
* Automated change: Fix sanity tests
* unused parameter
* fix
* fix
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
2 years ago
Hannah Shi
fb5d64fc03
[ObjC]fix 64 to 32 bit clang conversion warning in src/core/ext/transport ( #29873 )
...
* fix 64 to 32 bit clang conversion warning in src/core/ext/transport
* fix additional conversion warnings, use size_t in VarIntWriter
* fix CI error
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
cdccf1e1e4
fix for import ( #31165 )
...
* fix for import
* fix
2 years ago
Craig Tiller
2ec220a6b1
[sanity] Fix it ( #31163 )
...
* fix sanity
* fix sanity
2 years ago
Craig Tiller
631e8b2c36
[fixit] Parallelize hpack_size tests ( #30580 )
...
* [hpack_size] Parallelize tests
* Automated change: Fix sanity tests
* fix tsan race
* fix tsan race
* bleh
* windows-strerror
* ugh
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
8174a75079
[iwyu] Add more test directories ( #30952 )
...
* [iwyu] Add more test directories
* fix
* fix
* fix
* fix
* fix
* Automated change: Fix sanity tests
* fix
* iwyu
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* Automated change: Fix sanity tests
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
9c98d67d7a
[c++14] absl::make_unique --> std::make_unique ( #31159 )
...
* [c++14] absl::make_unique --> std::make_unique
* fix
* fix
2 years ago
AJ Heller
2ee2c91c92
Reland x2: Make GetDefaultEventEngine return a shared_ptr ( #30619 )
...
* Reland x2: Make GetDefaultEventEngine return a shared_ptr
* remove thread leak from NativeDNSResolver
This is not going to work for resolvers that support cancellation.
* give resolvers bounded lifetimes
Some resolver own EventEngines. EventEngines cannot run off the end of
the process since they have unjoined threads (problematic in a small set
of environments). This gives resolvers bounded lifetimes, and allows
replacement of resolvers without ASAN issues of deleting resolvers in
active use (occurs in tests).
* fix
* fix windows
* fix surface init test
* fix
* sanitize
* use after move
* the test must wait for the callback to be destroyed
* windows fix: delete the resolver on iomgr shutdown, not before
* Make TimerManager threads non-joinable
On gRPC shutdown, any unjoined TimerManager threads will cause TSAN to
detect thread leaks. This fix resolves issues I saw in end2end test
shutdown in another PR, where a single timer manager thread was always
alive after the test ended.
The long-term solution is to integrate the new ThreadPool here, but this
unblocks me for now.
* backport fix
* fix
* shared_ptr<EventEngine> in EventEngine benchmarks
2 years ago
Esun Kim
d43511f4af
Removed GRPC_ERROR_NONE ( #31131 )
2 years ago
AJ Heller
a874b8f6ca
EventEngine::Run microbenchmarks ( #30769 )
...
* [WIP] EventEngine::Run microbenchmarks
* Add fanout impl and fix tracking of time spent doing work in threads
* tune down benchmarks; fix fanout counting logic.
* tune down closure fanout tests
* format
* odr
* reviewer feedback
* unify some fanout logic; add a large-AnyInvocable test
lambdas that take an allocation are about 10x slower
* reviewer feedback
* fix invalid vector access
* rm DNS
* format
* copy params for each lambda callback
This fixes segfaults when we cannot ensure all callbacks are complete
before exiting the test.
* s/promise/Notification/g bm_exec_ctx
* ODR and leak
* fix division by zero
* fix
2 years ago
Hannah Shi
96d27634a4
run ios CronetTest from bazel ( #30439 )
2 years ago
Yash Tibrewal
6d249c0af2
Observability: Experimental arg to disable client side tracing ( #31093 )
...
* Observability: Experimental arg to disable client side tracing
* Fix IWYU
* Reviewer comments
* Reviewer comments
* Reviewer comment: Move experimental/internal arg to different file
* Fix build
* Fix IWYU
2 years ago
AJ Heller
298ace8cbf
small test cleanup ( #31137 )
2 years ago
Cheng-Yu Chung
409f558871
Revert "Revert "Remove `grpc_codegen` ( #30960 )" ( #31099 )" ( #31100 )
...
This reverts commit eada386921
.
2 years ago
Craig Tiller
5fa37322cb
Revert "Tcp endpoint implementation for posix event engine. ( #30559 )" ( #31134 )
...
This reverts commit a81391d931
.
2 years ago
Vignesh Babu
a81391d931
Tcp endpoint implementation for posix event engine. ( #30559 )
...
* 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
* Migrating posix event pollers to use new event poller interface
* add inline attributes
* Automated change: Fix sanity tests
* remove ref/unref from iomgr engine closure ad add custom closure types internal to the pollers
* updating time util usage
* use unique_ptrs
* update comments
* Automated change: Fix sanity tests
* review comments
* rename GetPointer to GetVoidPointer
* cleanup
* Automated change: Fix sanity tests
* removing EndpointConfig::Get method
* Automated change: Fix sanity tests
* cleanup
* fix
* fix review comments
* review comments
* cleanup
* update comments
* fix
* cleanup
* update comments
* Automated change: Fix sanity tests
* fix misleading comments
* bug fixes
* fix
* fix
* start
* revert some changes for bug fixes and allow spurious wakeups for poll based poller
* sanity
* fix
* minor fix
* review comments
* fix
* comment
* remove re-defined function
* fix review comments
* fix windows iocp build issue due to removed function
* change Milliseconds return type
* fix
* remove header
* regenerate projects
* fix sanity
* code
* fix sanity
* Automated change: Fix sanity tests
* Forking iomgr internal_errqueue defines for posix event engine
* fix BUILD file
* start
* update
* sanity
* regenerate_projects
* Automated change: Fix sanity tests
* rename
* review comments
* update
* review comments
* Automated change: Fix sanity tests
* fix BUILD
* add no_windows tag
* update
* update
* remove debug statements
* delete unused file
* update
* fix BUILD
* regenerate projects
* update
* fix BUILD
* update
* fix sanity
* minor additions to configure global tcp user timeout values
* cleanup
* fix build syntax
* change poller interface for posix event engine
* update event_poller_posix_test
* fix build error
* Add more unit tests
* windows ee changes
* update comment
* remove unused deps
* fix msan issue
* add comment
* adding rcv lowat helper to socket wrapper
* fix sanity
* review comments
* fix build issue
* fix sanity
* sanity
* iwyu sanity
* fix build
* merge conflict
* Automated change: Fix sanity tests
* update
* update
* fix macos issue
* fix msan and ubsan issues
* fix macos build issue
* comment
* review comments
* remove unused dep
* sanity
* merge conflict
* mac build issue
* regenerate projects
* build issue
* fix typo and address review comments
* review comments
* Automated change: Fix sanity tests
* update
* merge issue
* review comments
* sanity
* fix build issue
* review comments
* add thread annotations
* MacOS fix unused variable
* add some more #endif comments
* missing semi-colon
* Automated change: Fix sanity tests
* sanity
* sanity again
* sanity try again
* sanity again
* try again with no_include pragma
Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
2 years ago
Esun Kim
ba8af0157b
Removing GRPC_ERROR_[REF|UNREF|IS_NONE] ( #31089 )
...
* Removing GRPC_ERROR_[REF|UNREF|IS_NONE]
* Clean up unnecessary error
* Fix
* Fix2
* Remove unnecessary else
2 years ago
Mark D. Roth
cdb7d2c93c
XdsEndpointResourceType: use ValidationErrors and add unit tests ( #31076 )
...
* simplify XdsResourceType::Decode() API
* fix xds_client_test
* xDS endpoint: use ValidationErrors to improve error messages
* fix sanity
* add xDS endpoint resource type test
* clang-format
* remove a couple of now-unnecessary end2end tests
* generate_projects
* fix xds_csds_e2e_test
* iwyu
* attempt to avoid ubsan failure
2 years ago
Craig Tiller
ebc4f236b6
[slice] Remove _internal variants of APIs ( #30953 )
...
* [slice] Remove _internal variants of APIs
* Automated change: Fix sanity tests
* fix
* reduce bloat
* fixes
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
93fdc99756
[init] Remove grpc_register_plugin ( #30929 )
...
* [init] Remove grpc_register_plugin
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* fix
* fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
1402e974f7
[promises] End-to-end flow control for a series of pipes ( #30994 )
...
* 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
* comments
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
32b43f0168
[channel_args] Make channel_stack_init take new type ( #30841 )
...
* [channel_args] Make channel_stack_init take new type
* fix
* fix
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Yousuk Seung
747d016397
Support --max_recv_msg_size in grpc cli ( #31106 )
...
* Support --max_recv_msg_size in grpc cli
* Comment typos fixed in tests.
2 years ago
AJ Heller
fb14fdf0e0
Performant thread-safe Work Queue ( #30821 )
...
* WorkQueue
* weaken the large obj stress test for Windows; documentation
* update comment
* Add WorkQueue microbenchmark. Results below ...
------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
------------------------------------------------------------------------------------------
BM_WorkQueueIntptrPopFront/1 297 ns 297 ns 2343500 items_per_second=3.3679M/s
BM_WorkQueueIntptrPopFront/8 7022 ns 7020 ns 99356 items_per_second=1.13956M/s
BM_WorkQueueIntptrPopFront/64 59606 ns 59590 ns 11770 items_per_second=1074k/s
BM_WorkQueueIntptrPopFront/512 477867 ns 477748 ns 1469 items_per_second=1071.7k/s
BM_WorkQueueIntptrPopFront/4096 3815786 ns 3814925 ns 184 items_per_second=1073.68k/s
I0902 19:05:22.138022069 12 test_config.cc:194] TestEnvironment ends
================================================================================
* use int64_t for times. 0 performance change
------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations UserCounters...
------------------------------------------------------------------------------------------
BM_WorkQueueIntptrPopFront/1 277 ns 277 ns 2450292 items_per_second=3.60967M/s
BM_WorkQueueIntptrPopFront/8 6718 ns 6716 ns 105497 items_per_second=1.19126M/s
BM_WorkQueueIntptrPopFront/64 56428 ns 56401 ns 12268 items_per_second=1.13474M/s
BM_WorkQueueIntptrPopFront/512 458953 ns 458817 ns 1550 items_per_second=1.11591M/s
BM_WorkQueueIntptrPopFront/4096 3686357 ns 3685120 ns 191 items_per_second=1.1115M/s
I0902 19:25:31.549382949 12 test_config.cc:194] TestEnvironment ends
================================================================================
* add PopBack tests: same performance profile exactly
* use Mutex instead of Spinlock
It's safer, and so far equally performant in benchmarks of opt builds
* add deque test for comparison. It is faster on all tests.
* Add sparsely-populated multi-threaded benchmarks.
* fix
* fix
* refactor to help thread safety analysis
* Specialize WorkQueue for Closure*s and AnyInvocables
* remove unused callback storage
* add single-threaded benchmark for closure vs invocable
* sanitize
* missing include
* move bm_work_queue to microbenchmarks so it isn't exported
* s/workqueue/work_queue/g
* use nullptr instead of optionals for popped closures
* reviewer test suggestion
* private things are private
* add a work_queue fuzzer
Ran for 10 minutes @ 42 jobs @ 42 workers. Zero failures.
Checked in a selection of 100 good seeds after merging the thousands of
results.
* fix
* fix header guards
* nuke the corpora
* feedback
* sanitize
* Timestamp::Now
* fix
* fuzzers do not work on windows
* windows does not like multithreaded benchmark tests
2 years ago
Craig Tiller
f15ba1ffc7
[tls] Remove support for pthread tls ( #31040 )
...
* [tls] Remove support for pthread tls
* fix
* fix
* fix
* lalala
* fix
* fix
* Clean up deployment target changes
* additional clean up of deployment target
* regen podspec for updated file list
* remove destination change
* deployment target override for ios cpp test
* fix?
* fix run test script & update test destination
* [tls] Remove support for pthread tls
* fix
* fix
* fix
* lalala
* fix
* fix
* Clean up deployment target changes
* additional clean up of deployment target
* regen podspec for updated file list
* remove destination change
* deployment target override for ios cpp test
* fix?
* fix run test script & update test destination
* merge
* fix
* final script fix for proper destination & target
* more deployment target fix
* objc ios test script fix
Co-authored-by: Denny C. Dai <dennycd@me.com>
Co-authored-by: dennycd <dennycd@google.com>
2 years ago
Craig Tiller
c3714eced8
fix test ( #31101 )
2 years ago
Craig Tiller
e8df8185e5
[debug] Fine grained event tracing ( #31105 )
...
* moved-from-stats
* [debug] Fine grained event tracing
* Automated change: Fix sanity tests
* comment
* Automated change: Fix sanity tests
* iwyu
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Esun Kim
097729125a
Removed a unnecessary function ( #31090 )
2 years ago
Cheng-Yu Chung
eada386921
Revert "Remove `grpc_codegen` ( #30960 )" ( #31099 )
...
This reverts commit b2d64efa3a
.
2 years ago
Craig Tiller
6575ae70b3
[slice] Ensure result is used in test ( #31083 )
...
Otherwise sufficiently good compilers may inline SumSlice, see that the result is not used, and discard the code that triggers the crash entirely.
2 years ago