Craig Tiller
1f85fb21f2
[metadata] Improve codegen for name lookups ( #33237 )
...
The approach of doing a recursive function call to expand the if checks
for known metadata names was tripping up an optimization clang has to
collapse that if/then tree into an optimized tree search over the set of
known strings. By unrolling that loop (with a code generator) we start
to present a pattern that clang *can* recognize, and hopefully get some
more stable and faster code generation as a benefit.
<!--
If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the
appropriate
lang label.
-->
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Craig Tiller
175ccc3a90
Reland global config changes ( #32661 )
...
<!--
If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the
appropriate
lang label.
-->
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Yash Tibrewal
fcff4bd1d0
Gcp Observability Logging: The Call ID should use a UUIDv4 format ( #32699 )
...
Earlier, we were simply using a 64 bit random number, but the spec
actually calls for UUIDv4.
<!--
If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the
appropriate
lang label.
-->
2 years ago
Jan Tattermusch
0c1797cd9f
Revert "[config] Move global config alongside core configuration" ( #32659 )
...
Reverts grpc/grpc#30788
(it breaks grpc_objc_bazel_test (see
https://github.com/grpc/grpc/pull/30788#issuecomment-1476372187 ) and
also seems to be breaking some other internal stuff).
2 years ago
Craig Tiller
b7a83305e6
[config] Move global config alongside core configuration ( #30788 )
...
This is a big rewrite of global config.
It does a few things, all somewhat intertwined:
1. centralize the list of configuration we have to a yaml file that can
be parsed, and code generated from it
2. add an initialization and a reset stage so that config vars can be
centrally accessed very quickly without the need for caching them
3. makes the syntax more C++ like (less macros!)
4. (optionally) adds absl flags to the OSS build
This first round of changes is intended to keep the system where it is
without major changes. We pick up absl flags to match internal code and
remove one point of deviation - but importantly continue to read from
the environment variables. In doing so we don't force absl flags on our
customers - it's possible to configure grpc without the flags - but
instead allow users that do use absl flags to configure grpc using that
mechanism. Importantly this lets internal customers configure grpc the
same everywhere.
Future changes along this path will be two-fold:
1. Move documentation generation into the code generation step, so that
within the source of truth yaml file we can find all documentation and
data about a configuration knob - eliminating the chance of forgetting
to document something in all the right places.
2. Provide fuzzing over configurations. Currently most config variables
get stashed in static constants across the codebase. To fuzz over these
we'd need a way to reset those cached values between fuzzing rounds,
something that is terrifically difficult right now, but with these
changes should simply be a reset on `ConfigVars`.
<!--
If you know who should review your pull request, please assign it to
that
person, otherwise the pull request would get assigned randomly.
If your pull request is for a specific language, please add the
appropriate
lang label.
-->
---------
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Yash Tibrewal
5f6c357e74
Move some targets from //: to //src/core: ( #31402 )
...
* temp
* temp
* temp
* top BUILD builds
* everything builds
* buildify
* temp fix_build_deps change
* fix gpr_atm
* additional changes
* fix build files
* nofixdeps
* Generate projects
* json_args
* fix context
* Generate projects
* Sprinkle some avoid_dep tags
* Run fix_build_deps
* Remove additional avoid_dep
* Revert some targets
* grpc_mock_cel
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
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
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
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
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
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
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
Craig Tiller
b8382d69cf
[fixit] Reduce size of work_serializer_test ( #30600 )
...
* [fixit] Reduce size of work_serializer_test
* Automated change: Fix sanity tests
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2 years ago
Cheng-Yu Chung
543b290203
Build Target Reorganization Part 1 ( #30518 )
...
* Clean up gpr_base
* Remove `avoid_dep` for target `gpr`
* Add alias `gpr_base` for `gpr` for compatibility
* Fix tool error
* Update
* Remove temporary `gpr_base`
* Remove unused `alt_gpr_base_legacy`
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
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
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
Esun Kim
dfe6a8b903
gtestify test/core/gprpp ( #30197 )
...
* fix
* gtestify test/core/gprpp
* Update by review
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
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
Craig Tiller
98dcba2807
Reland bytestream removal ( #29911 )
...
* Revert "Revert "Revert "Revert "[transport] Remove ByteStream (#29637 )" (#29890 )" (#29894 )" (#29910 )"
This reverts commit 713a1581d5
.
* fix
3 years ago
Craig Tiller
713a1581d5
Revert "Revert "Revert "[transport] Remove ByteStream ( #29637 )" ( #29890 )" ( #29894 )" ( #29910 )
...
This reverts commit 93cdc8b77e
.
3 years ago
Craig Tiller
93cdc8b77e
Revert "Revert "[transport] Remove ByteStream ( #29637 )" ( #29890 )" ( #29894 )
...
* Revert "Revert "[transport] Remove ByteStream (#29637 )" (#29890 )"
This reverts commit d53986657f
.
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
d53986657f
Revert "[transport] Remove ByteStream ( #29637 )" ( #29890 )
...
This reverts commit aacf0e252b
.
3 years ago
Craig Tiller
aacf0e252b
[transport] Remove ByteStream ( #29637 )
...
* A starter SliceBuffer implementation
* Add comments and fix sanity checks
* Minor fixes
* more minor fixes
* Addressing review comments and adding a slice_buffer_test
* fix sanity checks
* regenerate projects
* fixing undefined function error
* reverting changes from memory_allocator.cc and adding them to src/core/lib/slice/slice_buffer.cc to allow memory allocator lib to build correctly
* fix sanity checks
* adding an open source slice definition
* regnerate projects
* fix asan error
* Automated change: Fix sanity tests
* addressing review comments
* fix sanity checks
* regenerate projects
* update
* fix sanity checks
* Converting slice buffer to retarin ownership of the underlying ctype
* [slice_buffer] Introduce grpc_core::SliceBuffer
* add test
* Automated change: Fix sanity tests
* [byte-stream] Delete ByteStream
* progress
* progress
* missing files
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* progress
* sanity
* progress
* progress
* progress
* progress
* progress
* progress
* progress
* progress
* progress
* iwyu
* fix
* progress
* fix
* fix
* progress
* code compiles
* fix?
* bogus assert
* Automated change: Fix sanity tests
* fix
* fix
* fix?
* fix
* fix
* better expression of function
* fix?
* Automated change: Fix sanity tests
* x
* fix
* fix
* fix
* fix
* fix
* fix
* fix
* add fullstack test without retry filter
* debug
* missing files
* gc
* fix h2_full_no_retry
* remove headers
* fixes
* Automated change: Fix sanity tests
* x
* fix
* fix
* fix
* progress
* x
* tear apart flow control
* continue itnegration
* fix
* Automated change: Fix sanity tests
* fix
* fix
* Automated change: Fix sanity tests
* cleanup
* Automated change: Fix sanity tests
* fix
* x
* x
* Revert "debug"
This reverts commit 0120a94492
.
* undo debug
* fix
* Automated change: Fix sanity tests
* better inproc
* fixes
* iwyu
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* fix stalled streams
* properly handle non-terminal trailers
* fix test
* fix channelz test
* fix subchannel_stream_client
* fix server load reporting
* review feedback
* review feedback
* review feedback
* review feedback
* Automated change: Fix sanity tests
* remove compression test from python
* fix
* x
* Automated change: Fix sanity tests
* iwyu fix
* Revert "remove compression test from python"
This reverts commit 5fe0512077
.
* cripple python tests
* Revert "fix"
This reverts commit 6df476b22f
.
* Automated change: Fix sanity tests
* review feedback
* Automated change: Fix sanity tests
* fix
* fix
* fix
* ugh
Co-authored-by: Vignesh Babu <vigneshbabu@google.com>
Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Mark D. Roth
709dff9ca8
security and subchannel: implement UniqueTypeName and use it in these interfaces ( #29709 )
...
* implement UniqueTypeName API
* convert security code to use UniqueTypeName
* change subchannel data producer API to use UniqueTypeName
* sanitize
* add missing build dep
* fix credentials_test
* fix certificate_provider_store_test
* fix tls_security_connector_test
* attempt to fix windows build
* avoid unnecessary allocation
* work around MSVC 2017 bug
* sanity
* change factory to not be templated
* fix sanity
* fix bug in chttp2 connector that used server creds instead of channel creds
* add missing build dep
* simplify API
3 years ago
Craig Tiller
9a46171833
Revert "Revert "[c++14] Remove Capture type ( #29327 )" ( #29748 )" ( #29749 )
...
This reverts commit d4aed9e615
.
3 years ago
Craig Tiller
d4aed9e615
Revert "[c++14] Remove Capture type ( #29327 )" ( #29748 )
...
This reverts commit 944c0b2ce9
.
3 years ago
Craig Tiller
944c0b2ce9
[c++14] Remove Capture type ( #29327 )
...
* Remove Capture type
* Automated change: Fix sanity tests
* update
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
AJ Heller
18a8f6aad9
Refactor end2end tests to exercise each EventEngine ( #29202 )
...
* Refactor end2end tests to exercise each EventEngine
* fix incorrect bazel_only exclusions
* Automated change: Fix sanity tests
* microbenchmark fix
* sanitize, fix iOS flub
* Automated change: Fix sanity tests
* iOS fix
* reviewer feedback
* first pass at excluding EventEngine test expansion
Also caught a few cases where we should not test pollers, but should
test all engines. And two cases where we likely shouldn't be testing
either product.
* end2end fuzzers to be fuzzed differently via EventEngine.
* sanitize
* reviewer feedback
* remove misleading comment
* reviewer feedback: comments
* EE test_init needs to play with our build system
* fix golden file test runner
Co-authored-by: drfloob <drfloob@users.noreply.github.com>
3 years ago
Craig Tiller
3e5a5bba59
Single set pointer ( #29114 )
...
* Single set pointer
* Update single_set_ptr.h
* fix
* fix
* build
* custom deleters
3 years ago
Craig Tiller
5fc3ff8203
grpc_millis -> Timestamp/Duration ( #28119 )
...
* wip
* Automated change: Fix sanity tests
* fixes
* progress
* progress
* grpc compiles
* Automated change: Fix sanity tests
* fixing tests
* x
* progress
* better code
* Automated change: Fix sanity tests
* progress
* progress
* windows fix
* Make Duration metadata trivial
* better message
* fix
* Automated change: Fix sanity tests
* fix
* fix
* fix
* fix
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fix
* progress
* fixes
* fix
* fix
* spam
* un-disable errantly disabled tests
* gain insight
* Automated change: Fix sanity tests
* fixes
* fixes
* fix
* debug
* tweak
* fix
* fix timeout
* fix comment
* fixes
* x
* better test
* tests
* Automated change: Fix sanity tests
* missed file
* fix
* x
* fix
* fix
* fix
* fix
* Automated change: Fix sanity tests
* fix
* merge
* Automated change: Fix sanity tests
* fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
b95ed96b96
Revert "Revert "Move arena into resource quota ( #28008 )" ( #28292 )" ( #28293 )
...
This reverts commit 91edf92ce0
.
3 years ago
Craig Tiller
91edf92ce0
Revert "Move arena into resource quota ( #28008 )" ( #28292 )
...
This reverts commit ad424a2ebf
.
3 years ago
Craig Tiller
ad424a2ebf
Move arena into resource quota ( #28008 )
...
* new resource quota integration
* Automated change: Fix sanity tests
* fix
* fix
* fixes
* fixes
* fixes
* Automated change: Fix sanity tests
* fixes
* fixes
* Automated change: Fix sanity tests
* fixes
* fix
* fixes
* windows-fix
* fixes
* fixes
* fix
* fix-asan
* banned
* banned
* fixes
* clang-tidy-fix
* Automated change: Fix sanity tests
* fix-cronet
* review feedback
* review feedback
* Automated change: Fix sanity tests
* fixes
* bug fix
* fixes
* compile fix
* exclude megabyte size payloads from 1byte tests
* windows fix
* start moving ios
* keep moving windows
* Get windows compilation working.
* Automated change: Fix sanity tests
* better
* fixes
* remove slice buffer from memory_allocator.h
* Revert "remove slice buffer from memory_allocator.h"
This reverts commit 234a63b6e3
.
* ugh
* #fixtests
* pthread tls fixes
* Automated change: Fix sanity tests
* fixfixfix
* xxx
* add reset
* review feedback
* fix
* fix
* fixes
* fix
* mac progress
* cpp-impl-of
* rename ptr
* Automated change: Fix sanity tests
* memory-owner-is-a-memory-allocator
* fixes
* fix
* fix from prod
* fix
* Fix issue leading to bad pointers being returned on Windows.
* Automated change: Fix sanity tests
* fix multislice bug
* argh
* hyrums law fixes
* hyrums law fixes
* clang-format
* hyrums law fixes
* Move arena into resource quota
* Remove redundant constant
* fixup the tests
* Automated change: Fix sanity tests
* fiiixes
* Automated change: Fix sanity tests
* fixes
* Automated change: Fix sanity tests
* fixes
* fix
* fix
* Automated change: Fix sanity tests
* fixes
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
a629c9a03e
Reland resource quota work ( #28017 )
...
* Check if memory owner available prior to polling it
The transport may drop the memory owner during its destruction sequence
* tcp_fix
* Revert "Revert "New resource quota integration (#27643 )" (#28014 )"
This reverts commit 0ea2c37263
.
* clang-format
* fix-path
* fix
3 years ago
Craig Tiller
0ea2c37263
Revert "New resource quota integration ( #27643 )" ( #28014 )
...
This reverts commit 39f0877d25
.
3 years ago
Craig Tiller
39f0877d25
New resource quota integration ( #27643 )
...
* new resource quota integration
* Automated change: Fix sanity tests
* fix
* fix
* fixes
* fixes
* fixes
* Automated change: Fix sanity tests
* fixes
* fixes
* Automated change: Fix sanity tests
* fixes
* fix
* fixes
* windows-fix
* fixes
* fixes
* fix
* fix-asan
* banned
* banned
* fixes
* clang-tidy-fix
* Automated change: Fix sanity tests
* fix-cronet
* review feedback
* review feedback
* Automated change: Fix sanity tests
* fixes
* bug fix
* fixes
* compile fix
* exclude megabyte size payloads from 1byte tests
* windows fix
* start moving ios
* keep moving windows
* Get windows compilation working.
* Automated change: Fix sanity tests
* better
* fixes
* remove slice buffer from memory_allocator.h
* Revert "remove slice buffer from memory_allocator.h"
This reverts commit 234a63b6e3
.
* ugh
* #fixtests
* pthread tls fixes
* Automated change: Fix sanity tests
* fixfixfix
* xxx
* add reset
* review feedback
* fix
* fix
* fixes
* fix
* mac progress
* cpp-impl-of
* rename ptr
* Automated change: Fix sanity tests
* memory-owner-is-a-memory-allocator
* fixes
* fix
* fix from prod
* fix
* Fix issue leading to bad pointers being returned on Windows.
* Automated change: Fix sanity tests
* fix multislice bug
* argh
* hyrums law fixes
* hyrums law fixes
* clang-format
* hyrums law fixes
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Richard Belleville
468768865b
Make Buildifier Sanity Test Strict ( #27807 )
...
* Fix all lint errors in repo.
* Use strict buildifier by default
* Whoops. That file does not exist
* Attempt fix to buildifier invocation
* Add missing copyright
3 years ago
Craig Tiller
d1e01ac139
Add a test for a (now-illegal) build file construct ( #27602 )
...
* Add a test for a (now-illegal) build file construct
* add to test suite!
* fix
* fix
* fix syntax
3 years ago
Craig Tiller
253d7076fc
Chunked vector type ( #27517 )
...
* chunked vector type
* Automated change: Fix sanity tests
* compile fix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
bb4311baed
Add a utility to capture arguments by move even in C++11 ( #26923 )
...
* Add a utility to capture arguments by move even in C++11
* add test
* Automated change: Fix sanity tests
* missing file
* Automated change: Fix sanity tests
* better test
* Automated change: Fix sanity tests
* fmt
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
a989e0bfb5
Table type ( #26698 )
...
* first pass table type
* indexed table with comments
* clang-tidy
* build stuff
* sanity fixes
* fixes for clang4
* add tests for size
* build fixes
* Add port_platform-only library
* remove port_platform exceptions
* merge new port_platform lib
* Add a bitset abstraction
* set(bool)
* bitset integration
* fixup test
* all or nothing
* comments, clangfmt
* add bitset tests
* add bitset tests
* merge stuff
* clang-tidy
* add c++ attribute detection
* use macro
* fmt
* typo
* exclude test from windows
3 years ago
Craig Tiller
0e6fe3f42c
Bitset ( #26716 )
...
A simple bitset type -- to replace `std::bitset` usage in #26698 and #26254
`std::bitset` uses at least 64 bits even to store two bits, and the usages I'm looking at would benefit from having something smaller in those circumstances
3 years ago
Craig Tiller
0bd70a7e3e
Add Match/Overload abstractions ( #26640 )
...
* match/overload abstraction
* update projects
* match should really not accept mutable args
* typo
* tests
* usage comment
* mutable version
* build stuff
* clang-format
* add an escape hatch to avoid needing port_platform.h in files that do not need port_platform.h
* unused args
* Make it possible for a test to not depend on gpr
* add tests
* compile fix
* sepelling
3 years ago
Esun Kim
2d8936b097
Added status_helper ( #25901 )
...
Added status_util
4 years ago
Esun Kim
0cf94e3fdd
Add time-util
4 years ago
Esun Kim
f3e75c1fa9
Add stack-tracer to gRPC
4 years ago