Commit Graph

28 Commits

Author SHA1 Message Date
Mark D. Roth 49da06c3a1
Revert "Revert "service config: use new JSON API (#30467)" (#31485)" (#31486)
This reverts commit 008661a5d6.
2022-10-28 16:03:59 -07:00
Mark D. Roth 008661a5d6
Revert "service config: use new JSON API (#30467)" (#31485)
This reverts commit b853ccc6db.
2022-10-27 15:13:18 -07:00
Mark D. Roth b853ccc6db
service config: use new JSON API (#30467)
* 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

* rename resolver_result_parsing to client_channel_service_config

* split up service_config_test into a separate test for each component

* convert client channel service config parser to new API

* fix build

* converted retry global params

* convert retry method-level parsing, but still need to find a way to control parsing via a channel arg

* 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

* fix test

* add ability to disable fields

* plumb in channel args to disable parsing

* Automated change: Fix sanity tests

* use const char* instead of absl::string_view for enable_key

* fix resolver_component_test

* Automated change: Fix sanity tests

* work around mac build problem

* Automated change: Fix sanity tests

* work around gcc6 problem

* Automated change: Fix sanity tests

* fix build

* fix build

* don't use alternative builder in tests

* convert message size service config parser

* convert fault injection service config parser

* rename files

* add specialization for unique_ptr

* avoid moves in client channel service config parser

* avoid moves in retry service config parser, and do some cleanup

* avoid moves in message_size service config parser

* avoid moves for fault injection service config parser, and use internal channel arg

* convert rbac service config parser

* clang-format

* WIP

* convert top-level service config parser

* clang-format

* fix build

* fix rbac service config parser test

* fix signed-ness problem and reversed-conditional bug

* fix unused param

* fix json_string method

* fix max message length defaults

* add copy ctors to appease windows compiler

* fix RLS LB config parser test

* fix name resolution test

* fix build

* work around gmock portability bug

* fix sanity

* add missing build dep

* make RBAC principal and permissions movable, not copyable

* Revert "make RBAC principal and permissions movable, not copyable"

This reverts commit 53315bccc9.

* attempt to simplify HeaderMatcher and StringMatcher parsing

* more bloat reduction in RBAC service config parser

* fix sanity

* add missing build dep

* attempt work-around for MSVC bug

* Revert "attempt work-around for MSVC bug"

This reverts commit e54c89e1e4.

* attempt work-around for Windows build problem

* try another work-around

* fix sanity

* appease clang-tidy

* generate_projects

* attempt to fix Windows build

* more windows fixes

* more windows fix

* yet more windows fixes

* try without noexcept

* remove unnecessary boilerplate

* code review changes

* fix breakage

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>
2022-10-27 11:51:05 -07: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
Lidi Zheng 2231c2ba77
Introduce Python import sorting to our sanity test suite (#26768)
* Add isort_code.sh to sanity tests

* Run tools/distrib/isort_code.sh

* Fine tune the import order for relative imports

* Make pylint and project generation happy

* Fix a few corner cases

* Use --check instead of --diff

* The import order impacts test result somehow

* Make isort print diff and check output at the same time

* Let tools/run_tests/python_utils be firstparty library

* Run isort against latest HEAD
2021-07-26 12:31:21 -07:00
yang-g c6c3dc57af Remove unneeded filter 2021-01-06 10:59:56 -08:00
Alexander Polcyn 882243606f Add a mechanism to plumb arbitary command line flags to the c-ares unit test binary 2020-12-28 23:22:54 -08:00
Alexander Polcyn aef3bb0157 Remove unnecessary explicit bytes conversion 2020-12-16 10:17:17 -08:00
Alexander Polcyn 408a02379d Make c-ares resolver unit tests runnable under python3 2020-12-15 23:51:19 -08:00
Alexander Polcyn 2c133c562d Fix sorting of gRPCLB addresses when resolved via DNS 2020-05-29 10:43:45 -07:00
Alexander Polcyn aec6be5ec9 Include request object in c-ares address sorting trace logs 2020-04-01 00:05:03 +00:00
Mark D. Roth d4fb5ea436 update service config parsing as per recent spec change 2020-03-25 10:45:41 -07:00
Mark D. Roth 283574e3b7 Convert service config code to use new JSON API 2020-02-04 07:42:31 -08:00
Yash Tibrewal dfa45cb7ac Merge branch 'master' into svccfgerrortransient 2019-05-08 16:44:33 -07:00
Alexander Polcyn 2a4d62819b Revise c-ares timeouts to use c-ares's internal timeout/retry logic 2019-05-08 09:57:39 -07:00
Yash Tibrewal 6cba63eb47 reviewer comments and tests 2019-05-08 03:36:37 -07:00
Yash Tibrewal 587ae4a2d9 Fix existing tests 2019-05-03 15:40:39 -07:00
Alexander Polcyn 93b7acd9bf Disable service config resolution with c-ares by default 2019-02-11 10:30:08 -08:00
Alexander Polcyn 139d9f6e94 Revert "Revert c-ares as the default resolvre"
This reverts commit ca30b2240f.
2019-01-31 15:06:34 -08:00
Alexander Polcyn ca30b2240f Revert c-ares as the default resolvre 2019-01-25 13:39:45 -08:00
Alexander Polcyn 2b328ee0ca Re-enable c-ares as the default resolver; but keep SRV queries off by default 2019-01-18 17:18:33 -08:00
Alexander Polcyn 371b987bf4 Revert turning c-ares on by default 2019-01-11 10:50:52 -08:00
Alexander Polcyn 46a872864c Turn on c-ares as the default resolver 2019-01-08 14:46:37 -08:00
Alex Polcyn 5cd8b1eb81 Enable c-ares queries on Windows 2018-08-08 15:21:26 -07:00
Alexander Polcyn 50a7213929 Revert "Fix c-ares tests ipv6-only brokenness"
This reverts commit 27718ce64d.
2018-06-11 11:35:32 -07:00
Alexander Polcyn 27718ce64d Fix c-ares tests ipv6-only brokenness 2018-06-06 13:55:13 -07:00
Alexander Polcyn 6f8f914f8d cleanup, and get rid of unnecessary timeouts in two places 2018-05-01 20:52:57 -07:00
Alexander Polcyn 29fead7d49 Convert c-ares test runner from bash to python, so that it works on
windows
2018-04-24 16:24:43 -07:00