Commit Graph

61 Commits

Author SHA1 Message Date
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>
2023-03-27 18:55:24 -07:00
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).
2023-03-20 08:22:29 -07:00
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>
2023-03-17 16:56:45 -07:00
Craig Tiller 67f364e23e
[cleanup] Eliminate usage of GRPC_ASSERT(false...); (#31757)
* crash function

* progress

* fix

* fix

* Automated change: Fix sanity tests

* fix

* fix

* fix

* fixes

* Automated change: Fix sanity tests

* fix

* Automated change: Fix sanity tests

* fix

* fix

* use cpp attr

* Automated change: Fix sanity tests

* fix

* fix

* fix

* fix

* fix

* fix

* add exclusion

* fix

* typo

* fix

* fmt

* Update tcp_socket_utils.cc

* Automated change: Fix sanity tests

* fix

* revert php changes

* Automated change: Fix sanity tests

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2023-01-11 08:50:32 -08:00
Yijie Ma f99b8b5bc4
Convert c-style comments to C++-style comments (#31923)
* baseline

* fix clang-tidy

* manually revert these files

* manually fixup at eof

* revert 2 more files

* change check_deprecated_grpc++.py

* change end2end_defs.include template

* fix check_include_guards.py

* untrack tools/distrib/python/convert_cstyle_comments_to_cpp.py

not yet ready to be submitted

* fix

yapf check_include_guards.py
remove a space...

* fix version.cc.template

* fix version_info.h.template
2022-12-22 23:01:53 -08:00
Yijie Ma 6b79989d86
EventEngine::RunAfter: PollingResolver (#31717)
* EventEngine::RunAfter: polling_resolver

initial draft

* restore some iwyu change

* fix: get rid of OnNextResolution

* fix some test crashes

* fix more tests

* clang-tidy

* review

* clang-tidy

* fix

* review

* review

* review

* fix use-after-move

* revert

* review
2022-12-05 17:05:00 -08:00
Esun Kim 0ba0c4bf74
Added googletest clang-tidy checks (#31610)
* Added google-googletest

* Autofix

* Fix test names

* Fix
2022-11-18 13:02:20 -08:00
Craig Tiller 20d1efc38a
[stats] Move core stats to C++ (#30936)
* begin c++

* Automated change: Fix sanity tests

* progress

* progress

* missing-files

* Automated change: Fix sanity tests

* moved-from-stats

* remove old benchmark cruft, get tests compiling

* iwyu

* Automated change: Fix sanity tests

* fix

* fix

* fixes

* fixes

* add needed constructor

* Automated change: Fix sanity tests

* iwyu

* fix

* fix?

* fix

* fix

* Remove ResetDefaultEventEngine

Now that it is a weak_ptr, there's no need to explicitly reset it. When
the tracked shared_ptr is deleted, the weak_ptr will fail to lock, and a
new default EventEngine will be created.

* forget existing engine with FactoryReset

* add visibility

* fix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
Co-authored-by: AJ Heller <hork@google.com>
2022-10-09 21:22:08 -07:00
Craig Tiller 1ad4bbe78e
Revert "fix (#31018)" (#31021)
This reverts commit 2e6f268dfc.
2022-09-21 09:28:28 -07:00
Craig Tiller 2e6f268dfc
fix (#31018) 2022-09-16 12:41:08 -07:00
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>
2022-09-15 21:41:04 -07:00
Craig Tiller 3ec0e29bcf
[test] Convert cq verifier to C++ (#30256)
* [test] Convert cq verifier to C++

* Automated change: Fix sanity tests

* fix

* dead code

* strength reduction

* dead code

* fix

* when search/replace goes wrong

* review feedback

* review feedback

* cleanup

* fixes

* fix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-07-14 04:41:30 -07:00
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>
2022-07-13 13:21:07 -07:00
Craig Tiller d304712f64
[channel_args] Spread grpc_core::ChannelArgs through client channel code (#30008)
* [channel_args] Spread grpc_core::ChannelArgs through client channel code

* progress

* progress

* grpc compiles

* uniqueptr+compiles

* fix

* fix

* fix

* fix

* fix

* fix

* fixes

* fix

* fix

* fixes

* fix-lb

* fix

* fix up arg construction

* fix

* fix

* fix

* fix

* move to const& to save bytes

* fix

* fix

* progress

* review feedback

* fix

* fix

* fixes

* fixes

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* fix

* fix

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* fix

* debug-helper

* Automated change: Fix sanity tests

* fix

* Automated change: Fix sanity tests

* fix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-07-07 19:19:11 -07:00
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>
2022-03-30 15:43:05 -07:00
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>
2022-03-01 11:34:05 -08:00
Craig Tiller dd76a04b8c
Move resolver to core configuration (#28881)
* Move resolver to core configuration

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* fix

* fix

* fix

* fix

* resolver: clean up and modernize registry

* fix race

* update visibility

* fix internal error

* review feedback

* resolve backref issues

* windows

* x

* fix sockaddrs on windows?

* fix sockaddrs on windows?

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
Co-authored-by: Mark D. Roth <roth@google.com>
2022-02-23 00:09:04 -08:00
yihuaz b458db9246
Eliminate gRPC insecure build (#25586)
* force submit

* fix test error

* remove is_client from local tsi and its callsites

* fix too_many_pings_test

* add missing dep
2022-02-10 11:17:18 -08:00
Craig Tiller 55b365f287
Move resolver code around a little (#27846)
* move service config

* service config should not depend on grpc_base

* move resolver, deal with fallout

* Automated change: Fix sanity tests

* fix

* fix

* Automated change: Fix sanity tests

* review feedback

* review feedback

* fix

* Automated change: Fix sanity tests

* fix

* Automated change: Fix sanity tests

* fix vis

* fix

* fixes

* Automated change: Fix sanity tests

* visibility

* fix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-01-06 10:53:40 -08:00
apolcyn 2a4b7f25e6
testing: add a fake TCP and UDP server to test/core/util (extracted from #27883) (#28332)
* add a fake TCP and UDP server to test/core/util
2021-12-14 08:50:17 -08:00
Mark D. Roth ac70281e74
improve RPC status messages when name resolution fails (#28091)
* improve RPC status messages when name resolution fails

* fix tests

* clang-format

* fix rls_end2end_test

* fix build

* fix service_config_end2end_test

* fix too_many_pings_test

* fix tests

* fix client_channel to propagate resolution_note to LB policy

* improve comment
2021-12-07 09:05:38 -08:00
apolcyn c6b9483a30
add test for c-ares resolver error message propogation (#28252) 2021-12-02 09:14:06 -08:00
Craig Tiller ea389c00c2
Adjust include order per style guide (#27175)
Introduce clang-format configuration to sort includes closer to our rules.
2021-09-08 12:14:44 -07:00
Esun Kim ca945a58e9
Introduced grpc_error_handle (#25902)
- Define grpc_error_handle
- Replace grpc_error* with grpc_error_handle
2021-04-22 12:00:28 -07:00
apolcyn a98819007d
Revert "Convert grpc_ares_wrapper to C++ (#25108)" (#25761)
This reverts commit 2ee70175bd.
2021-03-18 21:55:14 -07:00
apolcyn 2ee70175bd
Convert grpc_ares_wrapper to C++ (#25108) 2021-03-17 13:47:29 -07:00
Esun Kim 2ff84ed8c2 C++ cast for void* 2020-11-30 17:29:15 -08:00
Esun Kim ec0b88a5d7 Fix google-readability-casting 2020-11-30 17:27:51 -08:00
capstan 131579d52d Roll forward of commit 7883b51: Use abseil's flags in tests.
This replaces gflags. Added TODOs where use of `absl::Duration` or `absl::FlagSaver` might be preferred in follow-up cleanup. Fixes #24493.

This reverts commit da66b7d14e.

NEW:
* Adds references to `absl/flags/declare.h`, new to LTS 2020923.2 imported in commit 5b43440.
* Works around MSVC 2017 compiler error with large help text on flags by reducing the help text.
2020-11-06 16:07:19 +01:00
Nathan Herring da66b7d14e
Revert "Abseil Flags" 2020-10-24 15:19:55 -07:00
capstan 7883b5133d Use abseil's flags in tests.
This replaces gflags. Added TODOs where use of `absl::Duration` or `absl::FlagSaver` might be preferred in follow-up cleanup. Fixes #24493.
2020-10-23 19:36:33 +02:00
Esun Kim c08f33c437 Fix clang-tidy errors 2020-10-15 16:07:25 -07:00
Alexander Polcyn e2837aa10b Raise deadline of CancelDuringAresQuery.TestHitDeadlineAndDestroyChannelDuringAresResolutionWithQueryTimeoutIsGraceful test 2020-08-11 18:05:57 -07:00
Mark D. Roth 9404f66f70 Replace most uses of gpr_asprintf() with absl calls. 2020-07-07 12:01:02 -07:00
Yash Tibrewal 9ca286a48f Replace LogicalThread with WorkSerializer 2020-02-07 16:14:33 -08:00
Yash Tibrewal 957f0390df Reviewer comments 2020-02-06 15:28:13 -08:00
Yash Tibrewal e05417db32 Use LogicalThread in client channel code 2019-12-06 12:44:05 -08:00
Alexander Polcyn 7cd0d9266b Raise deadline of RPC in cancel_ares_query_test 2019-11-11 23:50:42 -08:00
Esun Kim b2b7fc9af8 Replaced grpc_core::UniquePtr with std::unique_ptr 2019-11-07 13:05:39 -08:00
Esun Kim 3a519a0b64 Replaced grpc_core New & Delete with C++ new & delete 2019-11-06 17:52:26 -08:00
Yash Tibrewal 780d41224c Squashed commit of the following:
commit 1547cb209a
Author: Yash Tibrewal <yashkt@google.com>
Date:   Fri Oct 18 13:12:55 2019 -0700

    Revert some other GRPC_CLOSURE_RUN till other issues are fixed

commit 3edeee7ce9
Merge: 22b343e4fb e8f78e7a5d
Author: Yash Tibrewal <yashkt@google.com>
Date:   Fri Oct 18 12:26:26 2019 -0700

    Merge branch 'master' into combinernew

commit 22b343e4fb
Author: Yash Tibrewal <yashkt@google.com>
Date:   Fri Oct 18 12:22:34 2019 -0700

    Change some TCP posix closures to GRPC_CLOSURE_RUN

commit 19e60dfe8f
Merge: 153bdcbc97 feae38d3ab
Author: Yash Tibrewal <yashkt@google.com>
Date:   Thu Oct 17 11:56:46 2019 -0700

    Merge branch 'master' into combinernew

commit 153bdcbc97
Author: Yash Tibrewal <yashkt@google.com>
Date:   Thu Oct 17 11:41:14 2019 -0700

    Proxy fixture fix

commit c6da80bcce
Merge: 6a32264cdf 98abc22f4c
Author: Yash Tibrewal <yashkt@google.com>
Date:   Fri Oct 11 17:05:18 2019 -0700

    Merge branch 'master' into combinernew

commit 6a32264cdf
Author: Yash Tibrewal <yashkt@google.com>
Date:   Fri Oct 11 17:01:55 2019 -0700

    Reviewer comments

commit 6bbd3a1c3c
Author: Yash Tibrewal <yashkt@google.com>
Date:   Thu Oct 10 11:55:43 2019 -0700

    Fallback cleanup

commit aaa04526a2
Author: Yash Tibrewal <yashkt@google.com>
Date:   Thu Oct 10 11:24:18 2019 -0700

    Clean up

commit 4266be13d5
Author: Yash Tibrewal <yashkt@google.com>
Date:   Thu Oct 10 11:20:05 2019 -0700

    Make sure start_ping is called before finish_ping for bdp and keepalive

commit 14107957aa
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 18:56:07 2019 -0700

    chttp2 fixes

commit 5643aa6cb3
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 18:25:19 2019 -0700

    Remove closure list scheduling from combiners

commit c596449430
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 17:35:54 2019 -0700

    ares windows fix

commit 9f933903b9
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 17:23:11 2019 -0700

    More fixes

commit 3c3a7d0e9b
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 16:08:07 2019 -0700

    Fix errors

commit 56539cc448
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 15:22:28 2019 -0700

    Everything compiles

commit 714ec01e4b
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 13:44:18 2019 -0700

    src compiles

commit 54dcbd170d
Author: Yash Tibrewal <yashkt@google.com>
Date:   Wed Oct 9 13:16:08 2019 -0700

    chttp2_transport changes

commit 7a3388b077
Author: Yash Tibrewal <yashkt@google.com>
Date:   Tue Oct 8 18:33:55 2019 -0700

    resource quota and lb policy

commit 714e4c849f
Author: Yash Tibrewal <yashkt@google.com>
Date:   Tue Oct 8 17:23:04 2019 -0700

    Further

commit 1d17ad7d44
Author: Yash Tibrewal <yashkt@google.com>
Date:   Tue Oct 8 13:34:52 2019 -0700

    ares ev driver windows changes

commit 3110c062c5
Author: Yash Tibrewal <yashkt@google.com>
Date:   Tue Oct 8 12:47:37 2019 -0700

    ares dns changes

commit 0e10bc17ea
Author: Yash Tibrewal <yashkt@google.com>
Date:   Tue Oct 8 12:24:45 2019 -0700

    Add dns_resolver changes

commit 4a71a911e8
Author: Yash Tibrewal <yashkt@google.com>
Date:   Tue Oct 8 12:08:10 2019 -0700

    Add fake_resolver changes

commit 8610a64ec9
Author: Yash Tibrewal <yashkt@google.com>
Date:   Mon Oct 7 19:31:13 2019 -0700

    Remaning one from xds_client

commit 5f22055d0d
Author: Yash Tibrewal <yashkt@google.com>
Date:   Mon Oct 7 18:47:28 2019 -0700

    One left from xds_client.cc

commit 4b1223f875
Author: Yash Tibrewal <yashkt@google.com>
Date:   Mon Oct 7 17:17:12 2019 -0700

    modifications for xds.cc

commit a17bbbd840
Author: Yash Tibrewal <yashkt@google.com>
Date:   Mon Oct 7 13:06:25 2019 -0700

    grpclb.cc changes

commit 3a33ed4762
Merge: 11058748fd 3d363368ca
Author: Yash Tibrewal <yashkt@google.com>
Date:   Mon Oct 7 11:24:11 2019 -0700

    Merge branch 'combinernew' of github.com:yashykt/grpc into combinernew

commit 3d363368ca
Author: Yash Tibrewal <yashkt@google.com>
Date:   Mon Oct 7 11:18:00 2019 -0700

    New combiner
2019-10-18 15:07:54 -07:00
Vijay Pai 6ca827a008 Remove unused parameter warning (18 of 20) 2019-10-17 08:52:05 -07:00
Soheil Hassas Yeganeh 39e982a263
Merge pull request #19488 from soheilhy/string-view2
Introduce string_view and use it for gpr_split_host_port
2019-07-01 13:53:16 -04:00
Soheil Hassas Yeganeh dbf88dd66f Revert "Revert "Introduce string_view and use it for gpr_split_host_port.""
This reverts commit 80c177d4c4.
2019-06-27 20:56:15 -04:00
Soheil Hassas Yeganeh 80c177d4c4
Revert "Introduce string_view and use it for gpr_split_host_port." 2019-06-26 16:22:13 -04:00
Soheil Hassas Yeganeh ef0f9bf7ec Introduce string_view and use it for gpr_split_host_port. 2019-06-20 23:19:34 -04:00
Prashant Jaikumar fbfb93c88f Fix C++ tests to run on iOS
- Define grpc_iomgr_run_in_background in iomgr_posix_cfstream.cc
- Use *_IF_SUPPORTED() for death tests
- Move global test init, teardown to SetUpTestCase, TearDownTestCase as GTMGoogleTestRun doesn't run main()
2019-06-20 18:16:20 -07:00
Esun Kim 90fbdc92f5 Roll-forward "Config migration"
This reverts commit 236ae12bb1.
2019-05-20 15:47:24 -07:00
Alexander Polcyn 236ae12bb1 Revert "Config migration"
This reverts commit 87905ae5ea.
2019-05-14 14:36:33 -07:00
Esun Kim 87905ae5ea Config migration 2019-05-09 12:29:38 -07:00