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
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
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
Craig Tiller
c2ab8c99bb
Revert "Revert "[c++] Move environment functions to C++ ( #30937 )" ( #30986 )" ( #30988 )
...
This reverts commit 96264e07b8
.
2 years ago
Craig Tiller
96264e07b8
Revert "[c++] Move environment functions to C++ ( #30937 )" ( #30986 )
...
This reverts commit 74c0d6fe3f
.
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
92f58c18a8
Revert "Revert "[chttp2] Improve huffman decode efficiency ( #30479 )" ( #30961 )" ( #30962 )
...
This reverts commit bfea47093f
.
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
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
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
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
AJ Heller
d547df2872
Upgrade google/benchmark to v1.7.0 ( #30902 )
...
* Upgrade google/benchmark to v1.7.0
Reason: Setup and Teardown methods are nice to have for multithreaded
tests.
* use version tag
* Revert "use version tag"
This reverts commit 6c7f5e0d35
.
2 years ago
Craig Tiller
7ba58bb925
[build] Move certificate provider registry into its own build target ( #30836 )
...
* [build] Move cert registry into its own build target
* Automated change: Fix sanity tests
* fix
* forgot to save file
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
381976dc99
[windows] Handling for tchar type in C++ ( #30845 )
...
* [windows] Handling for tchar type in C++
* fix
* fix
* Automated change: Fix sanity tests
* fix
* fix
* Update tchar.cc
* Update tchar.h
* Update tchar.h
* Update env_windows.cc
* Update string_util_windows.cc
* Update tmpfile_windows.cc
* Update env_windows.cc
* Update env_windows.cc
* Update subprocess_windows.cc
* Automated change: Fix sanity tests
* fix
* Update subprocess_windows.cc
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
ca8b437613
[experiments] Single experiments flag ( #30822 )
...
* single experiments flag
* add missing files
* fix
* empty-string-fix
* fix
* Automated change: Fix sanity tests
* ensure cold path is out of line
* add log for enabled/disabled experiments
* remove bad sentence
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Vignesh Babu
029f945504
Migrating posix event pollers to use new event poller interface ( #30419 )
...
* 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
* fix review comments
* review comments
* cleanup
* update comments
* fix
* cleanup
* update comments
* Automated change: Fix sanity tests
* fix misleading comments
* bug fixes
* fix
* fix
* revert some changes for bug fixes and allow spurious wakeups for poll based poller
* sanity
* 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
* remove header
* regenerate projects
* fix sanity
* fix sanity
* Automated change: Fix sanity tests
* delete unused file
* build issue
* cleanup
Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
2 years ago
Craig Tiller
c580d0d9a7
[experiments] Add experiment framework ( #30775 )
...
* [experiments] Add experiment framework
* auto-ci-config
* fix
* fix
* Automated change: Fix sanity tests
* support different configs
* Automated change: Fix sanity tests
* cleaner generated code
* Automated change: Fix sanity tests
* enforce expiry
* make sure expiry isnt far in the future
* fix
* Automated change: Fix sanity tests
* remove specified testing
* cleaner
* fix
* fix
* Automated change: Fix sanity tests
* fix
* fix
* docstring
* clean up code
* Automated change: Fix sanity tests
* review feedback
* build fix
* Automated change: Fix sanity tests
* ownership
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
004788af3d
[cleanup] Remove profiling timers ( #30779 )
...
* [cleanup] Remove profiling timers
- nobody has used this system in years
- if we needed it, we'd probably rewrite it at this point to be something more modern
- let's remove it until that need arises
* fix
* fixes
2 years ago
Mark D. Roth
0e30264a5d
XdsBootstrap: split interface from implementation ( #30759 )
...
* create XdsBootstrapInterface
* move gRPC-specific bootstrap code into its own module
* move LookupAuthority() back to base class
* share constants
* clang-format
* Automated change: Fix sanity tests
* fix xds_bootstrap_test
* clang-format
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
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
AJ Heller
8f5300b95d
Rename the default EventEngine headers ( #30528 )
...
* Rename the default EventEngine headers
Small cleanup. This code hasn't been related to factories for a month or
two.
* ensure only one target contains default_event_engine.h
* src + hdr in same target
* include guards
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
Craig Tiller
a5cab10d6f
[load_balancing] Move interfaces to src/core/lib/load_balancing ( #30465 )
...
* [load_balancing] Move interfaces to src/core/lib/load_balancing
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
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
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
Craig Tiller
f5bb60d8e8
[channel_args] Improve comparison performance ( #30322 )
...
* [channel_args] Improve comparison performance
* fix
* Automated change: Fix sanity tests
* faster still
* fix
* fix
* some no cost boosts if they get hit
* fix
* final tweak for pointers
* check
* fix
* Automated change: Fix sanity tests
* fix
* ugh
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
6fc2511e4d
[resource_quota] Periodically return memory to central quota ( #30268 )
...
* [resource_quota] Periodically return memory to central quota
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* optionalize features
* fix periodic update behavior around initialization
* fix
* fix
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Mark D. Roth
90cc6fa706
xDS: upgrade the commit of the xDS protos that we're using ( #30318 )
...
* xDS: upgrade the commit of the xDS protos that we're using
* Automated change: Fix sanity tests
Co-authored-by: markdroth <markdroth@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
Craig Tiller
7b8e3d89c4
[build] Auto-deps for a grab bag more targets ( #30184 )
...
* progress
* progress
* progress
* progress
* Automated change: Fix sanity tests
* progress
* progress
* progress
* progress
* fixes
* fix
* progress
* progress
* progress
* progress
* Automated change: Fix sanity tests
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Mark D. Roth
4491ed26aa
BUILD: move work_serializer to its own build target ( #30255 )
...
* BUILD: move work_serializer to its own build target
* add autodeps tag
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
AJ Heller
1076a7d447
Use AnyInvocable in EventEngine APIs ( #30220 )
2 years ago
Craig Tiller
1b5295a4a2
[iomgr] Remove executor/...
...
I've tried this before in #27445 and we found some internal usage of this code. Today I can find no such usage, so let's try again.
2 years ago
Mark D. Roth
a3afb81274
Second attempt: XdsClient: refactor transport code to make it injectable ( #30225 )
...
* Revert "Revert "XdsClient: refactor transport code to make it injectable (#30183 )" (#30223 )"
This reverts commit fa57b9d0bc
.
* fix deadlock seen internally
* Automated change: Fix sanity tests
* fix memory leak
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
AJ Heller
fa57b9d0bc
Revert "XdsClient: refactor transport code to make it injectable ( #30183 )" ( #30223 )
...
This reverts commit bd9bc5fd3e
.
2 years ago
AJ Heller
71c0eb090a
Revert "[WIP] Use AnyInvocable in EventEngine APIs ( #30208 )" ( #30219 )
...
This reverts commit dbbf16f07a
.
2 years ago
AJ Heller
dbbf16f07a
[WIP] Use AnyInvocable in EventEngine APIs ( #30208 )
...
This provides a move-only alternative to std::function.
fix oracle and engine factory
fix generate_projects for any_invocable
fix
format & iwyu
Automated change: Fix sanity tests (#30205 )
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
2 years ago
Mark D. Roth
bd9bc5fd3e
XdsClient: refactor transport code to make it injectable ( #30183 )
...
* XdsClient: refactor transport code to make it injectable
* clang-format
* Automated change: Fix sanity tests
* remove unnecessary dtor
* fix build
* re-add missing drain of WorkSerializer queue after receiving a message
* remove unused code
* fix memory leak
* Automated change: Fix sanity tests
* fix another memory leak
* fix unused parameter
* fix tsan failure
* Automated change: Fix sanity tests
Co-authored-by: markdroth <markdroth@users.noreply.github.com>
2 years ago
Esun Kim
27509c345c
Update upb to 20220621 ( #30156 )
...
* Update third_party/upb to e4635f223e7d36dfbea3b722a4ca4807a7e882e2
* Update grpc_deps
* Update src/upb/gen_build_yaml.py
* Regen projects
* Gen_upb_api
* Fix missing json files
* Fix missing textformat
* Fix missing upb/arena
* Sanitize
* Fix missing port_def
* Fix missing array.h
2 years ago
Craig Tiller
6648dd7447
[slice] Remove dead code ( #30139 )
...
* Remove dead code
* More dead code
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
eb5ae61470
Reland (again) bytestream removal ( #29987 )
...
* Revert "Revert "Reland bytestream removal (#29911 )" (#29964 )"
This reverts commit e6c6840db3
.
* initial fc fuzzer
* fixes
* add rq to fc fuzzer
* fleshing things out
* Automated change: Fix sanity tests
* cleanup
* send with payload
* ensure if no reader no flow control tokens are granted
* remove some public methods
* remove bogus benchmarks
* account for pending size
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* better logic
* Automated change: Fix sanity tests
* fix
* fixes
* fuzz pending size
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
* huh
* increase too short timeout
* review feedback
* review feedback
* fix u32 overflow
* fix
* robustness fixes for channelz_servicer_test
* fix
* Automated change: Fix sanity tests
* fix
* fix
* fix
* Automated change: Fix sanity tests
* dont send window updates if read closed
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Ming-Chuan
ab7a8d3826
BinderTransport: Fix wire reader/writer issue with NDK ( #30016 )
...
* BinderTransport: Fix wire reader/writer issue with NDK
NDK sometimes call registered `AIBinder_Class_onTransact`
callback while we call its `AIBinder_transact`.
Sometimes this behavior happens consistently sometimes it
don't happen at all. Likely related to the short circuit
behavior happens when both gRPC server and gRPC client are in the same
process.
This commit also fixes some other existing issue in wire writer.
* Use atomic<int64_t> instead of atomic_int64_t
atomic_int64_t is not defined in older compilers.
* Lower log level to avoid excessive test output
* Add missing break
dropepd this while addressing reivew comments
* Use absl::make_unique
* Fix printf portability with PRId64
* clang-format
* generate projects.
2 years ago
Craig Tiller
24caf53835
Roll forward iomgr ee fork ( #30022 )
...
* Revert "Revert "[event-engine] Fork timer code (#29816 )" (#30020 )"
This reverts commit cda2127776
.
* fix-import
* [event_engine] Use durations for scheduling things
* fix
* Automated change: Fix sanity tests
* run-after
* fix
* Automated change: Fix sanity tests
* rename
* Automated change: Fix sanity tests
* format is changing, expunge corpus
* update api_fuzzer
* fix
* Automated change: Fix sanity tests
* fix
* review feedback
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
AJ Heller
cda2127776
Revert "[event-engine] Fork timer code ( #29816 )" ( #30020 )
...
This reverts commit 977ebbef09
.
2 years ago
Craig Tiller
977ebbef09
[event-engine] Fork timer code ( #29816 )
...
* move files
* [event-engine] Fork timer code from iomgr
* progress
* thread-pool
* x
* fixes
* tests
* Automated change: Fix sanity tests
* x
* wip
* Automated change: Fix sanity tests
* timer-heap-test
* flesh-things-out
* wip
* Automated change: Fix sanity tests
* fix-test
* fix
* Automated change: Fix sanity tests
* fix
* fix windows
* Automated change: Fix sanity tests
* fix mac
* fix
* review feedback
* fix
* Automated change: Fix sanity tests
* fixes
* Automated change: Fix sanity tests
* review feedback
* Automated change: Fix sanity tests
* fix
* annotate
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
apolcyn
e6c6840db3
Revert "Reland bytestream removal ( #29911 )" ( #29964 )
...
* Revert "Reland bytestream removal (#29911 )"
This reverts commit 98dcba2807
.
* Automated change: Fix sanity tests
3 years ago