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
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
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
Vignesh Babu
9bcee18e1a
Add utils to create and prepare socket for tcp client ( #31009 )
...
* Add utils to create and prepare socket for tcp client
* Automated change: Fix sanity tests
* review comments
* review comments
* regenerate projects
* regenerate projects
* review comments
* comments
* fix typo
* remove unused parameter
* review comments
* remove static
* re-introduce forward declaration
Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
2 years ago
Cheng-Yu Chung
eada386921
Revert "Remove `grpc_codegen` ( #30960 )" ( #31099 )
...
This reverts commit b2d64efa3a
.
2 years ago
Cheng-Yu Chung
b2d64efa3a
Remove `grpc_codegen` ( #30960 )
...
* Remove `grpc_codegen`
* Update
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
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
Esun Kim
78c7cda232
Bump core version to 28.0.0 for upcoming release ( #31069 )
...
* bump C-core version
* regenerate projects
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
Cheng-Yu Chung
7cb9731e4e
Remove `include/grpcpp/impl/codegen/call_op_set_interface.h` ( #30990 )
2 years ago
Cheng-Yu Chung
bc312c7a43
Remove `include/grpcpp/impl/codegen/call.h` ( #31004 )
...
* Remove `include/grpcpp/impl/codegen/call.h`
* Update comment
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
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
c2ab8c99bb
Revert "Revert "[c++] Move environment functions to C++ ( #30937 )" ( #30986 )" ( #30988 )
...
This reverts commit 96264e07b8
.
2 years ago
Cheng-Yu Chung
d07224a13e
Remove `include/grpcpp/impl/codegen/call_hook.h` ( #30967 )
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
e5aadf985e
Revert "Revert "client_channel: allow LB policy to communicate update errors to resolver ( #30809 )" ( #30970 )" ( #30981 )
...
This reverts commit 1648bc08e0
.
2 years ago
Craig Tiller
74c0d6fe3f
[c++] Move environment functions to C++ ( #30937 )
...
* [gprpp] Move env to C++
* move headers/impl
* Automated change: Fix sanity tests
* fix
* fix
* Automated change: Fix sanity tests
* Update http_proxy.cc
* fix
* fix
* rename
* fix merge
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
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
Richard Belleville
1648bc08e0
Revert "client_channel: allow LB policy to communicate update errors to resolver ( #30809 )" ( #30970 )
...
This reverts commit 9ff943b81e
.
2 years ago
Craig Tiller
92f58c18a8
Revert "Revert "[chttp2] Improve huffman decode efficiency ( #30479 )" ( #30961 )" ( #30962 )
...
This reverts commit bfea47093f
.
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
Craig Tiller
bfea47093f
Revert "[chttp2] Improve huffman decode efficiency ( #30479 )" ( #30961 )
...
This reverts commit 6c7f921f5f
.
2 years ago
Craig Tiller
6c7f921f5f
[chttp2] Improve huffman decode efficiency ( #30479 )
...
* first pass
* refinement #1
* fix
* opt
* 8
* 5
* 12
* 10
* 7
* 15
* 8n
* 15n
* 8a
* 16a
* 15a
* 5a
* 10a
* 7a
* 9a
* 12a
* 11a
* 11b
* 11b
* 7b
* 15b
* 14b
* 15i
* 12i
* 9i
* 10i
* finalizing
* fix
* tweak
* 10f
* 10r
* 7r
* 8r
* 9r
* more
* rething
* 8s
* 9s
* 12s
* 7s
* 10s
* 15snr
* 12snr
* 14snr
* 13snr
* 11snr
* 20snr
* 15snr
* 18snr
* 7snr
* 7snr
* 12-2stp
* 13-2stp
* 14-2stp
* 11-2stp
* 10-2stp
* 9-3stp
* 8-3stp
* 7-3stp
* 8-2stp
* auto-tune1
* max-depth-2
* max-depth-3
* max-depth-2
* abbreviate
* working version
* add benchmark
* fix
* fix
* fix
* ditch define
* better code layout
* static fns
* fix
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix build
* cleanup and comment
* fmt
* fix
* test
* tag
* Automated change: Fix sanity tests
* fix
* fix
* Automated change: Fix sanity tests
* fix
* fix
* fix
* progress
* progress
* progress
* fixes
* cleanup
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fmt
* fix
* fix
* Automated change: Fix sanity tests
* fix
* fix
* Automated change: Fix sanity tests
* fix
* add encode/decode fuzzer
* Automated change: Fix sanity tests
* fix
* fix
* fix
* review feedback
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Cheng-Yu Chung
3b66ddba9d
Remove `gpr_codegen` ( #30899 )
...
* Remove `gpr_codegen`
* Update
* Revert "Update"
This reverts commit 1f044658f7
.
* Automated change: Fix sanity tests (#19 )
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
9ff943b81e
client_channel: allow LB policy to communicate update errors to resolver ( #30809 )
...
* client_channel: allow LB policy to communicate update errors to resolver
* fix tests
* Automated change: Fix sanity tests
* fix build
* fix another "ignoring return value" warning
* fix use-after-move
* fix channel to invoke resolver callback when service config fails on initial resolution
* remove outdated TODO
* improve comments
* fix PollingResolver to defer re-resolution requests while waiting for result-health callback
* Automated change: Fix sanity tests
* absl::exchange -> std::exchange
* fix dns_resolver_cooldown_test
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
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
Craig Tiller
4d0badc3a0
[build] Remove nofixdeps for census ( #30913 )
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
Cheng-Yu Chung
66749fd497
Fix layering_check violations ( #30926 )
...
* Fix layering_check violations
* Automated change: Fix sanity tests
Co-authored-by: Craig Tiller <ctiller@google.com>
2 years ago
Mark D. Roth
76588969c0
Second attempt: XdsClient: convert xDS bootstrap code to use new JSON parsing API ( #30925 )
...
* Revert "Revert "XdsClient: convert xDS bootstrap code to use new JSON parsing API (#30431 )" (#30924 )"
This reverts commit 3332e7e48d
.
* fix build for C++20
* iwyu and clang-format
2 years ago
Craig Tiller
a27073f7a8
[config] Move proxy mapper into core configuration ( #30842 )
...
* [config] Move proxy mapper into core configuration
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
346c103a1c
[build] Remove dependency cycle for grpc_init/shutdown ( #30921 )
...
* [build] Remove dependency cycle for grpc_init/shutdown
* missing files
* Automated change: Fix sanity tests
* fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
3332e7e48d
Revert "XdsClient: convert xDS bootstrap code to use new JSON parsing API ( #30431 )" ( #30924 )
...
This reverts commit 04ddf3d0b7
.
2 years ago
Craig Tiller
89de6312cd
[build] Remove nofixdeps for call_metric_recorder ( #30918 )
2 years ago
Craig Tiller
2b46cb40d3
[config] Move certificate provider registry into core config ( #30890 )
...
* [config] Move certificate provider registry into core config
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
134401a4d6
[build] Remove nofixdeps for EE targets ( #30920 )
...
* [build] Remove nofixdeps for EE targets
* fix
2 years ago
Craig Tiller
ca6f8aacfc
[build] Remove nofixdeps for resource_quota_trace ( #30911 )
2 years ago
Craig Tiller
cfbb07e965
[build] Remove nofixdeps for gpr_platform ( #30912 )
2 years ago
Craig Tiller
3502837c95
[init] Move client backup poller init to be directly called by init.cc ( #30893 )
...
* [init] Move backup poller init out of client channel path
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
AJ Heller
bf1856d2cc
A modest split of `:gpr` for mpscq support ( #30798 )
...
* A modest split of `:gpr` for mpscq support
A full split of the `gpr` target into 25 separate targets is building,
but there are some hurdles to get over with respect to ODR violations
and public API support for the gpr library.
This PR splits off a small chunk of that work.
* Automated change: Fix sanity tests
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
2 years ago