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
Cheng-Yu Chung
b2d64efa3a
Remove `grpc_codegen` ( #30960 )
...
* Remove `grpc_codegen`
* Update
2 years ago
Mark D. Roth
b340c37305
XdsClient: simplify XdsResourceType::Decode() API ( #31070 )
...
* simplify XdsResourceType::Decode() API
* fix xds_client_test
* fix sanity
2 years ago
Craig Tiller
bd6fab6ab7
[iomgr] Reduce the size of combiner_test ( #31085 )
2 years ago
AJ Heller
c0e5e35c7a
Replace EventEngine::Promise with grpc_core::Notification ( #31027 )
...
* Replace EventEngine::Promise with grpc_core::Notification
* remove promise.h
* Automated change: Fix sanity tests
* fix windows
* fix iocp
* fix client_test
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
2 years ago
Craig Tiller
1ad4bbe78e
Revert "fix ( #31018 )" ( #31021 )
...
This reverts commit 2e6f268dfc
.
2 years ago
Craig Tiller
4420d11ee0
[event-engine] Throttle thread starting in thread pool ( #31075 )
...
* [event_engine] Thread pool thread start throttling
* add test
* review feedback
* fix
2 years ago
Craig Tiller
da08fe1d6f
Revert "Remove `include/grpcpp/impl/codegen/client_callback.h` ( #31005 )" ( #31079 )
...
This reverts commit 17f515744f
.
2 years ago
Yash Tibrewal
9cff4d2d28
OpenCensus Plugin: Add missing measure and views for started RPCs ( #31034 )
2 years ago
Mark D. Roth
07df5ff9c7
json_object_loader: refactor ErrorList into its own library ( #31049 )
...
* json_object_loader: refactor ErrorList into its own library
* fix observability_config_test
* generate_projects
* iwyu
2 years ago
Cheng-Yu Chung
0cb5faf8e4
Remove `include/grpcpp/impl/codegen/client_interceptor.h` ( #31054 )
...
* Remove `include/grpcpp/impl/codegen/client_interceptor.h`
* Update comment
2 years ago
Cheng-Yu Chung
17f515744f
Remove `include/grpcpp/impl/codegen/client_callback.h` ( #31005 )
2 years ago
Mark D. Roth
e475e165a7
LB policies: convert to new JSON API ( #30468 )
...
* 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
* update grpclb parsing
* fix build
* convert outlier_detection LB config
* convert priority LB policy
* convert ring_hash LB config
* 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
* WIP on RLS parsing conversion
* fix error message
* Automated change: Fix sanity tests
* fixed RLS parser tests
* fix error prefix in OD, priority, and ring_hash policies
* convert weighted_target policy
* convert xds_cluster_manager
* convert cds policy
* convert xds_cluster_resolver
* convert xds_cluster_impl
* Automated change: Fix sanity tests
* fix test
* fix xds_cluster_impl drop config parsing
* Automated change: Fix sanity tests
* attempt to fix mac build
* work around gcc6 problem
* Automated change: Fix sanity tests
* fix build
* add mechanism to conditionally disable individual fields
* fix build
* Automated change: Fix sanity tests
* fix move assignment operator
* fix build
* Automated change: Fix sanity tests
* fix build and simplify RLS duplicate key check
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix build
* iwyu
* fix build
* fix sanity
* add LoadRefCountedFromJson() and use it to eliminate some moves
* fix build
* Automated change: Fix sanity tests
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
Mark D. Roth
5e0165bc02
EventEngine: fix callers of Run() and RunAfter() to create ExecCtx ( #31047 )
2 years ago
Mark D. Roth
6d792b6bce
xDS resource validation: identify extensions by type_url instead of name ( #31024 )
...
* xDS resource validation: identify extensions by type_url instead of name
* fix build
2 years ago
AJ Heller
22df3d9089
Add shared_ptr support to ChannelArgs ( #31056 )
...
Split off from #30556 , this adds the ability to put `std::shared_ptr`s
into ChannelArgs. The EventEngine specialization and preconditioning
will be done separately, when some prework is done there.
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
Yash Tibrewal
5cd8ee25f8
GcpObservabilityConfig: New changes ( #31038 )
...
* GcpObservabilityConfig: New changes
* Fix IWYU
2 years ago
Yash Tibrewal
27e5b4e187
GcpObservabilityConfig: Fall-back to GCP environment variables ( #31022 )
2 years ago
Yash Tibrewal
6098202c09
GcpObservabilityTest: Cleanup ( #31023 )
2 years ago
Craig Tiller
2e6f268dfc
fix ( #31018 )
2 years ago
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
Craig Tiller
96f5cddb5f
[time] Introduce time sources ( #30815 )
...
* [time] Introduce time sources
* make import trivial
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* review feedback
* fix
* Automated change: Fix sanity tests
* ios fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Vignesh Babu
4e7f0e1eac
Update to the event engine poller interface ( #30828 )
...
* change poller interface for posix event engine
* update event_poller_posix_test
* windows ee changes
* update comment
* remove unused deps
* review comments
* fix build issue
* fix sanity
* fix build
* Automated change: Fix sanity tests
* review comments
* remove unused dep
* sanity
* fix typo and address review comments
* review comments
* Automated change: Fix sanity tests
* fix typo in comment
Co-authored-by: Vignesh2208 <Vignesh2208@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
Esun Kim
888c64adf8
Fix the build script ( #30985 )
...
* Fix the build script
* Set -ex
* fix unsigned int comparisons and ignored return values
Co-authored-by: AJ Heller <hork@google.com>
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
Craig Tiller
c2ab8c99bb
Revert "Revert "[c++] Move environment functions to C++ ( #30937 )" ( #30986 )" ( #30988 )
...
This reverts commit 96264e07b8
.
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
Cheng-Yu Chung
120ee4c0f7
Fix comparison between signed and unsigned in `test/core/transport/chttp2/decode_huff_fuzzer.cc` ( #30983 )
2 years ago
Craig Tiller
96264e07b8
Revert "[c++] Move environment functions to C++ ( #30937 )" ( #30986 )
...
This reverts commit 74c0d6fe3f
.
2 years ago
Mark D. Roth
61ee1656d2
xds_client_test: fix flake ( #30980 )
2 years ago
Mark D. Roth
e5aadf985e
Revert "Revert "client_channel: allow LB policy to communicate update errors to resolver ( #30809 )" ( #30970 )" ( #30981 )
...
This reverts commit 1648bc08e0
.
2 years ago
AJ Heller
2025ba250a
Add an experiment for EventEngine::Client usage ( #30969 )
...
* Add experiment for EventEngine::Client usage
* correct experiment tags
2 years ago