Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automated fix for refs/heads/dualstack_slaying_godwin #406

Open
wants to merge 204 commits into
base: dualstack_slaying_godwin
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
204 commits
Select commit Hold shift + click to select a range
88c6ed8
RR: delegate to PF instead of creating subchannels directly
markdroth Mar 23, 2023
587af09
WIP: move health check client out of subchannel
markdroth Mar 24, 2023
f89e599
Merge remote-tracking branch 'upstream/master' into health_check_clie…
markdroth Mar 28, 2023
7a92c37
Merge remote-tracking branch 'upstream/master' into health_check_clie…
markdroth Mar 31, 2023
358d678
Merge remote-tracking branch 'upstream/master' into health_check_clie…
markdroth Apr 5, 2023
9e2c236
WIP
markdroth Apr 6, 2023
de3dcc5
Merge remote-tracking branch 'upstream/master' into health_check_clie…
markdroth Apr 6, 2023
0747f75
more WIP
markdroth Apr 6, 2023
459a945
Merge remote-tracking branch 'upstream/master' into health_check_clie…
markdroth Apr 18, 2023
4ad7b62
passing tests!
markdroth Apr 18, 2023
2b4c004
clang-format
markdroth Apr 18, 2023
f91d77f
remove old code
markdroth Apr 18, 2023
1525f2a
sanitize
markdroth Apr 18, 2023
1b2d383
Automated change: Fix sanity tests
markdroth Apr 19, 2023
32ceb87
cleanup
markdroth Apr 19, 2023
37967bc
add pollset_set linkage
markdroth Apr 19, 2023
089c394
use std::make_unique
markdroth Apr 19, 2023
926e2db
Automated change: Fix sanity tests
markdroth Apr 19, 2023
5dbabfb
move HealthChecker declaration to .h file to appease clang-tidy
markdroth Apr 19, 2023
d4b6ff1
Automated change: Fix sanity tests
markdroth Apr 19, 2023
a35dfc0
Merge branch 'health_check_client_data_watcher_new' into dualstack
markdroth Apr 20, 2023
8299751
Merge remote-tracking branch 'upstream/master' into dualstack
markdroth Apr 20, 2023
f265ef7
Merge remote-tracking branch 'upstream/master' into dualstack
markdroth Apr 24, 2023
8119c05
move subchannel_list code directly into PF
markdroth Apr 25, 2023
cc59bf0
health checking basically working in PF, just need to fix status mess…
markdroth Apr 25, 2023
4b59216
add IP address to health check failure status message
markdroth Apr 25, 2023
1735e21
fix status messages
markdroth Apr 25, 2023
0eb4b65
fix some edge cases exposed by tests
markdroth Apr 26, 2023
ded7c84
[client channel] assume LB policies start in CONNECTING state
markdroth May 3, 2023
e630d99
fix parent LB policies
markdroth May 4, 2023
cd3c68d
improve comments in LB policy API
markdroth May 4, 2023
bc050d3
clang-format
markdroth May 4, 2023
d537e84
fix PF test
markdroth May 4, 2023
77f6609
Merge remote-tracking branch 'upstream/master' into dualstack
markdroth May 4, 2023
d501215
Merge remote-tracking branch 'upstream/master' into dualstack
markdroth May 5, 2023
e228390
Merge branch 'lb_starts_connecting' into dualstack
markdroth May 5, 2023
2766aa3
fix build problem from merge
markdroth May 5, 2023
8d80c69
fix RR test
markdroth May 5, 2023
9ace84d
refactored endpoint list to its own library
markdroth May 5, 2023
d187c8c
fix tests
markdroth May 9, 2023
e8c3a05
Merge remote-tracking branch 'upstream/master' into dualstack
markdroth May 10, 2023
1e1d79c
Automated change: Fix sanity tests
markdroth May 10, 2023
80dbf8d
a bit of cleanup
markdroth May 10, 2023
2af8505
Merge remote-tracking branch 'upstream/master' into dualstack
markdroth May 10, 2023
7b579d7
fix sanity
markdroth May 10, 2023
0471b6c
Automated change: Fix sanity tests
markdroth May 10, 2023
7976026
fix vtable problem and trace message
markdroth May 11, 2023
acc015d
[WRR] delegate to pick_first instead of creating subchannels directly
markdroth May 11, 2023
8fa5867
[ring hash] delegate to pick_first instead of creating subchannels di…
markdroth May 12, 2023
2529270
Automated change: Fix sanity tests
markdroth May 11, 2023
dc5bfa5
Merge branch 'dualstack2' into dualstack3
markdroth May 12, 2023
55922d4
change ring_hash to apply updates instantly instead of using endpoint…
markdroth May 13, 2023
deb4385
Merge remote-tracking branch 'upstream/master' into dualstack
markdroth May 13, 2023
2ffff1a
Merge branch 'dualstack' into dualstack2
markdroth May 13, 2023
c5e1236
Merge branch 'dualstack2' into dualstack3
markdroth May 13, 2023
bfd7f4f
Semi-automated change: Fix sanity tests
markdroth May 15, 2023
926de27
simplify ring_hash picker logic
markdroth May 19, 2023
a390314
Merge remote-tracking branch 'upstream/master' into dualstack
markdroth Jun 1, 2023
394cd0f
Merge branch 'dualstack' into dualstack2
markdroth Jun 1, 2023
0e1389c
Merge branch 'dualstack2' into dualstack3
markdroth Jun 1, 2023
6d4a9f5
generate_projects
markdroth Jun 1, 2023
334a00c
Merge branch 'dualstack2' into dualstack3
markdroth Jun 1, 2023
0e1e2cb
[health checking] prep for outlier detection ejecting via health watch
markdroth Jun 4, 2023
9cec0dd
fix sanity
markdroth Jun 5, 2023
d39a3af
Merge remote-tracking branch 'upstream/master' into outlier_detection…
markdroth Jun 5, 2023
f56374d
attribute disables OD only via raw watch, not via health watch
markdroth Jun 5, 2023
a815c8a
Merge remote-tracking branch 'upstream/master' into dualstack
markdroth Jun 5, 2023
19afd20
Merge branch 'outlier_detection_ejection_via_health_watch' into duals…
markdroth Jun 6, 2023
9ddff33
clang-format
markdroth Jun 6, 2023
bd837c3
Merge branch 'dualstack' into dualstack2
markdroth Jun 6, 2023
46e63b9
fix flakiness
markdroth Jun 6, 2023
5c4858f
Merge branch 'dualstack2' into dualstack3
markdroth Jun 6, 2023
3f00a85
fix flakiness
markdroth Jun 6, 2023
aecc88d
OD ejection no longer triggers re-resolution with RR
markdroth Jun 6, 2023
39d212f
clean up test
markdroth Jun 6, 2023
da7a358
[subchannel interface] add method for cancelling data watches
markdroth Jun 6, 2023
8eb8ba9
Merge branch 'subchannel_data_watcher_cancel' into dualstack.alt
markdroth Jun 6, 2023
e2f5e9a
handle health watch cancellation in PF and LB unit test framework
markdroth Jun 6, 2023
a7a0800
add trace logs to xds_override_host policy
markdroth Jun 6, 2023
82510ce
fix pollset_set bug
markdroth Jun 12, 2023
7e4c43c
Merge remote-tracking branch 'upstream/master' into outlier_detection…
markdroth Jun 12, 2023
87dbe60
fix pollset_set bug
markdroth Jun 12, 2023
dcd704c
Merge branch 'outlier_detection_ejection_via_health_watch' into duals…
markdroth Jun 12, 2023
9d10c0b
Merge branch 'dualstack' into dualstack2
markdroth Jun 12, 2023
b1b5a55
fix from merge
markdroth Jun 12, 2023
82bfc07
Merge branch 'dualstack' into dualstack2
markdroth Jun 12, 2023
b22de55
fix data watcher comparator
markdroth Jun 13, 2023
d776c4b
[client_channel] fix dumb bug in data watcher comparator
markdroth Jun 13, 2023
c422814
Merge branch 'client_channel_data_watcher_comparator_fix' into outlie…
markdroth Jun 13, 2023
578238c
Merge branch 'client_channel_data_watcher_comparator_fix' into dualstack
markdroth Jun 13, 2023
b65dab0
Merge branch 'client_channel_data_watcher_comparator_fix' into dualst…
markdroth Jun 13, 2023
53a7277
Merge branch 'dualstack2' into dualstack3
markdroth Jun 13, 2023
0838866
sanitize
markdroth Jun 13, 2023
ef6b472
Merge branch 'dualstack' into dualstack2
markdroth Jun 13, 2023
035c4d9
Merge branch 'dualstack2' into dualstack3
markdroth Jun 13, 2023
2d07c46
clang-format
markdroth Jun 13, 2023
c1c0d95
Merge branch 'dualstack2' into dualstack3
markdroth Jun 13, 2023
55cb201
fix logic for internally triggered connection attempts
markdroth Jun 13, 2023
ef0418b
remove unused parameter
markdroth Jun 13, 2023
3587884
remove hack to disable outlier detection for pick_first
markdroth Jun 13, 2023
29ace2f
Merge remote-tracking branch 'upstream/master' into dualstack
markdroth Jun 13, 2023
202129f
Merge branch 'dualstack' into dualstack2
markdroth Jun 13, 2023
9314a25
Merge branch 'dualstack2' into dualstack3
markdroth Jun 13, 2023
9389778
Merge branch 'dualstack3' into dualstack4
markdroth Jun 13, 2023
3e52c8f
Merge remote-tracking branch 'upstream/master' into outlier_detection…
markdroth Jun 26, 2023
ce826f9
clang-format
markdroth Jun 26, 2023
bf68167
Merge branch 'outlier_detection_ejection_via_health_watch' into duals…
markdroth Jun 26, 2023
6d51d50
Merge remote-tracking branch 'upstream/master' into dualstack
markdroth Jun 26, 2023
0374096
fix sanity
markdroth Jun 26, 2023
2f91814
fix endpoint_list to create pick_first config
markdroth Jun 26, 2023
78e6839
Merge branch 'dualstack' into dualstack2
markdroth Jun 26, 2023
5f33ede
Merge branch 'dualstack2' into dualstack3
markdroth Jun 26, 2023
0d14bcc
Merge branch 'dualstack3' into dualstack4
markdroth Jun 26, 2023
c16c182
fix example code in comment
markdroth Jun 26, 2023
91d9269
minor cleanup
markdroth Jun 26, 2023
f3b0957
add TODO
markdroth Jun 26, 2023
01de173
Merge branch 'dualstack' into dualstack2
markdroth Jun 26, 2023
84057b9
add TODO to WRR
markdroth Jun 26, 2023
4878fde
fix sanity
markdroth Jun 26, 2023
9edd717
Merge branch 'dualstack' into dualstack2
markdroth Jun 26, 2023
f604283
add missing helper override
markdroth Jun 26, 2023
e4110a4
Merge branch 'dualstack' into dualstack2
markdroth Jun 26, 2023
5e40621
Merge branch 'dualstack2' into dualstack3
markdroth Jun 27, 2023
a0c9c4d
Merge branch 'dualstack3' into dualstack4
markdroth Jun 27, 2023
53853e2
WIP: rename ServerAddress to EndpointAddresses and add address list
markdroth Jun 27, 2023
fd03995
Merge remote-tracking branch 'upstream/master' into dualstack5_from3
markdroth Jun 27, 2023
4a6e1b1
remove now-unnecessary ServerAddress::WithoutAttributes() method
markdroth Jun 27, 2023
a32de6e
Merge branch 'dualstack3' into dualstack5_from3
markdroth Jun 27, 2023
4290284
Automated change: Fix sanity tests
markdroth Jun 27, 2023
40f52d5
Automated change: Fix sanity tests
markdroth Jun 27, 2023
c1e0204
add TODO
markdroth Jun 27, 2023
2db5d02
Merge branch 'dualstack3' into dualstack5_from3
markdroth Jun 27, 2023
23527f8
add endpoint_addresses target
markdroth Jun 27, 2023
7a24828
change args of LB helper CreateSubchannel() method
markdroth Jun 27, 2023
fcc1a81
WIP
markdroth Jun 27, 2023
8053e15
Merge remote-tracking branch 'upstream/master' into dualstack2
markdroth Jun 27, 2023
6581f2e
Merge branch 'dualstack2' into dualstack3
markdroth Jun 27, 2023
a2831d3
Merge branch 'dualstack3' into dualstack5_from3
markdroth Jun 27, 2023
fe03a44
more WIP
markdroth Jun 27, 2023
f69fc09
Merge remote-tracking branch 'upstream/master' into dualstack3
markdroth Jun 27, 2023
e8a574e
update comment
markdroth Jun 27, 2023
ee777d5
clang-format
markdroth Jun 27, 2023
8508ade
more WIP
markdroth Jun 27, 2023
f926dc6
Merge branch 'dualstack3' into dualstack4
markdroth Jun 28, 2023
7b1b63d
Merge remote-tracking branch 'upstream/master' into dualstack4
markdroth Jun 28, 2023
a5c2df9
Merge branch 'dualstack3' into dualstack5_from3
markdroth Jun 28, 2023
379fc8a
more WIP
markdroth Jun 28, 2023
e2e57c4
Merge remote-tracking branch 'upstream/master' into dualstack5_from3
markdroth Jun 28, 2023
278b705
fix sanity
markdroth Jun 28, 2023
4adf45d
Merge branch 'dualstack4' into dualstack5_from3
markdroth Jun 28, 2023
4e62654
Merge remote-tracking branch 'upstream/master' into dualstack5_from3
markdroth Jun 28, 2023
d6331de
fix build
markdroth Jun 28, 2023
e611820
more conversion, fix build
markdroth Jun 28, 2023
6dc8dd6
[ring_hash] fix propagation of channel args to pick_first child in up…
markdroth Jun 28, 2023
a6ba568
Merge branch 'dualstack4.5' into dualstack5_from3
markdroth Jun 28, 2023
95c3e4f
fix PF to enable health watch at startup, not per-update
markdroth Jun 28, 2023
878d33c
Merge branch 'dualstack4.5' into dualstack5_from3
markdroth Jun 28, 2023
c107067
fix ring_hash to detect endpoints with no addresses
markdroth Jun 28, 2023
bddb386
started supporting multiple addresses in WRR
markdroth Jun 28, 2023
02b0bd7
Merge remote-tracking branch 'upstream/master' into dualstack5_from3
markdroth Jun 28, 2023
e3e555a
Merge remote-tracking branch 'upstream/master' into dualstack5_from3
markdroth Jun 29, 2023
21c4d64
change EndpointAddresses to require non-empty address list
markdroth Jun 29, 2023
84e482f
fix WRR to handle multiple addrs per endpoint
markdroth Jun 29, 2023
0144664
change OD to support multiple addresses per endpoint
markdroth Jun 29, 2023
43f61f3
add tests for PF and RR
markdroth Jun 29, 2023
a10bafc
clang-tidy
markdroth Jun 29, 2023
9231ec0
WIP on tests
markdroth Jul 11, 2023
c4472d2
finish outlier_detection tests
markdroth Jul 11, 2023
e5c1212
[health checking] move to generic health watch for dualstack design
markdroth Aug 31, 2023
89dfa6b
Automated change: Fix sanity tests
markdroth Aug 31, 2023
d410ce2
Merge pull request #392 from markdroth/create-pull-request/patch-e5c1212
markdroth Aug 31, 2023
d2cad05
[round_robin] delegate to pick_first as per dualstack design
markdroth Sep 1, 2023
4b129af
[WRR] delegate to pick_first as per dualstack design
markdroth Sep 2, 2023
73ce281
fix outlier detection test
markdroth Sep 2, 2023
2c86fd2
Merge branch 'dualstack_rr' into dualstack_wrr
markdroth Sep 2, 2023
f2f4941
Merge remote-tracking branch 'upstream/master' into dualstack_rr
markdroth Sep 5, 2023
2428d71
add always-on experiment to track rollout progress in prod
markdroth Sep 5, 2023
21ef133
Merge branch 'dualstack_rr' into dualstack_wrr
markdroth Sep 5, 2023
8e2e6ba
Merge remote-tracking branch 'upstream/master' into dualstack_wrr
markdroth Sep 12, 2023
7a9b452
add wrr_dualstack experiment
markdroth Sep 12, 2023
d753662
generate_projects
markdroth Sep 12, 2023
530fadd
Merge remote-tracking branch 'upstream/master' into dualstack_wrr
markdroth Sep 13, 2023
263a3d9
make experiment disableable
markdroth Sep 13, 2023
ecd5fe0
Merge remote-tracking branch 'upstream/master' into dualstack_wrr
markdroth Sep 14, 2023
feb0b11
fix experiment rollout config
markdroth Sep 14, 2023
e46509b
Merge branch 'dualstack_wrr' into dualstack5_from3
markdroth Sep 14, 2023
f25dc09
fix tests
markdroth Sep 15, 2023
5dcbb02
Merge remote-tracking branch 'upstream/master' into dualstack5_from3
markdroth Sep 18, 2023
e4a8717
minor cleanup
markdroth Sep 18, 2023
453c4c1
Merge remote-tracking branch 'upstream/master' into dualstack5_from3
markdroth Sep 18, 2023
e5a5249
add WRR test, improve RR test
markdroth Sep 19, 2023
5c27ffa
Automated change: Fix sanity tests
markdroth Sep 19, 2023
6208367
update TODO
markdroth Sep 19, 2023
b6208cb
a bit of test refactoring
markdroth Sep 19, 2023
5350b15
Automated change: Fix sanity tests
markdroth Sep 19, 2023
3e63a93
Merge pull request #403 from markdroth/create-pull-request/patch-b6208cb
markdroth Sep 19, 2023
541b19c
[pick_first] implement Happy Eyeballs
markdroth Sep 20, 2023
17fac53
fix test
markdroth Sep 21, 2023
2c2c6d9
remove redundant e2e test that already has unit test coverage
markdroth Sep 21, 2023
e0f8758
add tests
markdroth Sep 21, 2023
b2d83b6
fix LB unit tests
markdroth Sep 21, 2023
0fb1fa6
fix comment
markdroth Sep 21, 2023
85eecd9
fix timer race conditions and handle shutdown
markdroth Sep 21, 2023
69044eb
Automated change: Fix sanity tests
markdroth Sep 21, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 22 additions & 8 deletions BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -2917,12 +2917,12 @@ grpc_cc_library(
)

grpc_cc_library(
name = "server_address",
name = "endpoint_addresses",
srcs = [
"//src/core:lib/resolver/server_address.cc",
"//src/core:lib/resolver/endpoint_addresses.cc",
],
hdrs = [
"//src/core:lib/resolver/server_address.h",
"//src/core:lib/resolver/endpoint_addresses.h",
],
external_deps = [
"absl/status",
Expand All @@ -2932,6 +2932,7 @@ grpc_cc_library(
language = "c++",
visibility = ["@grpc:client_channel"],
deps = [
"gpr",
"gpr_platform",
"sockaddr_utils",
"//src/core:channel_args",
Expand All @@ -2940,6 +2941,19 @@ grpc_cc_library(
],
)

grpc_cc_library(
name = "server_address",
hdrs = [
"//src/core:lib/resolver/server_address.h",
],
language = "c++",
visibility = ["@grpc:client_channel"],
deps = [
"endpoint_addresses",
"gpr_public_hdrs",
],
)

grpc_cc_library(
name = "grpc_resolver",
srcs = [
Expand All @@ -2960,11 +2974,11 @@ grpc_cc_library(
language = "c++",
visibility = ["@grpc:client_channel"],
deps = [
"endpoint_addresses",
"gpr",
"grpc_trace",
"orphanable",
"ref_counted_ptr",
"server_address",
"uri_parser",
"//src/core:channel_args",
"//src/core:grpc_service_config",
Expand Down Expand Up @@ -3049,6 +3063,7 @@ grpc_cc_library(
"config",
"config_vars",
"debug_location",
"endpoint_addresses",
"exec_ctx",
"gpr",
"grpc_base",
Expand All @@ -3065,7 +3080,6 @@ grpc_cc_library(
"promise",
"protobuf_duration_upb",
"ref_counted_ptr",
"server_address",
"sockaddr_utils",
"stats",
"uri_parser",
Expand Down Expand Up @@ -3163,6 +3177,7 @@ grpc_cc_library(
"config",
"config_vars",
"debug_location",
"endpoint_addresses",
"exec_ctx",
"gpr",
"grpc_base",
Expand All @@ -3174,7 +3189,6 @@ grpc_cc_library(
"orphanable",
"parse_address",
"ref_counted_ptr",
"server_address",
"sockaddr_utils",
"uri_parser",
"//src/core:channel_args",
Expand Down Expand Up @@ -3617,9 +3631,9 @@ grpc_cc_library(
language = "c++",
visibility = ["@grpc:grpclb"],
deps = [
"endpoint_addresses",
"gpr_platform",
"grpc_public_hdrs",
"server_address",
"//src/core:channel_args",
"//src/core:useful",
],
Expand Down Expand Up @@ -3737,12 +3751,12 @@ grpc_cc_library(
deps = [
"config",
"debug_location",
"endpoint_addresses",
"gpr",
"grpc_public_hdrs",
"grpc_resolver",
"orphanable",
"ref_counted_ptr",
"server_address",
"uri_parser",
"work_serializer",
"//src/core:channel_args",
Expand Down
8 changes: 4 additions & 4 deletions CMakeLists.txt

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Makefile

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion Package.swift

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 8 additions & 6 deletions build_autogenerated.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion config.m4

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion config.w32

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions gRPC-C++.podspec

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion gRPC-Core.podspec

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion grpc.gemspec

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions grpc.gyp

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions include/grpc/impl/channel_arg_names.h
Original file line number Diff line number Diff line change
Expand Up @@ -370,6 +370,10 @@
/** Configure the Differentiated Services Code Point used on outgoing packets.
* Integer value ranging from 0 to 63. */
#define GRPC_ARG_DSCP "grpc.dscp"
/** Connection Attempt Delay for use in Happy Eyeballs, in milliseconds.
* Defaults to 250ms. */
#define GRPC_ARG_HAPPY_EYEBALLS_CONNECTION_ATTEMPT_DELAY_MS \
"grpc.happy_eyeballs_connection_attempt_delay_ms"
/** \} */

#endif /* GRPC_IMPL_CHANNEL_ARG_NAMES_H */
Loading