This repository was archived by the owner on Jul 22, 2026. It is now read-only.
Commit 441a169
Make HTTP/2 channel creation timeout configurable (#1162)
* Make HTTP/2 parent channel creation timeout configurable
The HTTP/2 parent channel creation timeout was hardcoded at 10,000ms
(with a TODO to expose via cfg2). When a downstream host becomes
unreachable, all concurrent requests to that host queue behind the
parent channel bootstrap and block for the full 10s timeout before
failing — destroying p95 latency for callers.
This change threads a configurable channelCreationTimeoutMs through:
HttpClientFactory.Builder → ChannelPoolManagerFactoryImpl →
Http2ChannelPoolFactory → Http2ChannelLifecycle
Services can now tune this via HttpClientFactory.Builder
.setHttp2ChannelCreationTimeout(3000) to fail faster and let D2's
degrader remove flaky hosts sooner.
Default remains 10,000ms for backwards compatibility. All existing
constructors are preserved as @deprecated overloads.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Address review: keep Constructor A delegation unchanged
Constructor A (without udsAddress) keeps delegating to Constructor B
(with udsAddress=null) as before — B now delegates to C with the
default timeout, so changing A's delegation was redundant.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Fix CI: Http2ChannelLifecycle is package-private
Http2ChannelLifecycle has package-private visibility so it cannot be
imported from HttpClientFactory or ChannelPoolManagerFactoryImpl which
are in different packages. Define the default value (10000ms) directly
in HttpClientFactory and reference it from ChannelPoolManagerFactoryImpl.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Add multipart-mime to conditional testing modules
The multipart-mime module has flaky tests (TestMIMEReaderDrain) that are
unrelated to most PRs and cause spurious CI failures. Adding it to
CONDITIONAL_TESTING_MODULES ensures its tests are only run when its
dependencies (r2-core, data) are actually touched.
* Revert "Add multipart-mime to conditional testing modules"
This reverts commit e4e1ed1.
* Add CHANGELOG entry for HTTP/2 timeout config
Record the new configurable channel creation timeout under the
Unreleased heading, per the Pegasus Git Workflow.
* Bump version to 29.85.13 and roll changelog
Bump gradle.properties to 29.85.13 (patch) and run
./scripts/update-changelog to move the HTTP/2 timeout
entry under the new version heading.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 3128328 commit 441a169
6 files changed
Lines changed: 83 additions & 11 deletions
File tree
- r2-netty/src/main/java/com/linkedin/r2
- netty/client/http2
- transport/http/client
- common
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
17 | 22 | | |
18 | 23 | | |
19 | 24 | | |
| |||
5994 | 5999 | | |
5995 | 6000 | | |
5996 | 6001 | | |
5997 | | - | |
| 6002 | + | |
| 6003 | + | |
5998 | 6004 | | |
5999 | 6005 | | |
6000 | 6006 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| |||
Lines changed: 3 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
79 | | - | |
| 79 | + | |
| 80 | + | |
80 | 81 | | |
81 | 82 | | |
82 | 83 | | |
| |||
87 | 88 | | |
88 | 89 | | |
89 | 90 | | |
90 | | - | |
| 91 | + | |
91 | 92 | | |
92 | 93 | | |
93 | 94 | | |
| |||
Lines changed: 33 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
| 54 | + | |
54 | 55 | | |
55 | 56 | | |
56 | 57 | | |
| |||
81 | 82 | | |
82 | 83 | | |
83 | 84 | | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
84 | 112 | | |
85 | 113 | | |
86 | 114 | | |
| |||
100 | 128 | | |
101 | 129 | | |
102 | 130 | | |
103 | | - | |
| 131 | + | |
| 132 | + | |
104 | 133 | | |
105 | 134 | | |
106 | 135 | | |
| |||
115 | 144 | | |
116 | 145 | | |
117 | 146 | | |
| 147 | + | |
118 | 148 | | |
119 | 149 | | |
120 | 150 | | |
| |||
144 | 174 | | |
145 | 175 | | |
146 | 176 | | |
147 | | - | |
| 177 | + | |
| 178 | + | |
148 | 179 | | |
149 | 180 | | |
150 | 181 | | |
| |||
Lines changed: 24 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
159 | 159 | | |
160 | 160 | | |
161 | 161 | | |
| 162 | + | |
162 | 163 | | |
163 | 164 | | |
164 | 165 | | |
| |||
203 | 204 | | |
204 | 205 | | |
205 | 206 | | |
| 207 | + | |
206 | 208 | | |
207 | 209 | | |
208 | 210 | | |
| |||
657 | 659 | | |
658 | 660 | | |
659 | 661 | | |
660 | | - | |
| 662 | + | |
| 663 | + | |
661 | 664 | | |
662 | 665 | | |
663 | 666 | | |
| |||
682 | 685 | | |
683 | 686 | | |
684 | 687 | | |
685 | | - | |
| 688 | + | |
| 689 | + | |
686 | 690 | | |
687 | 691 | | |
688 | 692 | | |
| |||
698 | 702 | | |
699 | 703 | | |
700 | 704 | | |
| 705 | + | |
701 | 706 | | |
702 | 707 | | |
703 | 708 | | |
| |||
715 | 720 | | |
716 | 721 | | |
717 | 722 | | |
718 | | - | |
| 723 | + | |
719 | 724 | | |
720 | 725 | | |
721 | 726 | | |
| |||
760 | 765 | | |
761 | 766 | | |
762 | 767 | | |
| 768 | + | |
763 | 769 | | |
764 | 770 | | |
765 | 771 | | |
| |||
931 | 937 | | |
932 | 938 | | |
933 | 939 | | |
| 940 | + | |
| 941 | + | |
| 942 | + | |
| 943 | + | |
| 944 | + | |
| 945 | + | |
| 946 | + | |
| 947 | + | |
| 948 | + | |
| 949 | + | |
| 950 | + | |
| 951 | + | |
| 952 | + | |
| 953 | + | |
934 | 954 | | |
935 | 955 | | |
936 | 956 | | |
| |||
1007 | 1027 | | |
1008 | 1028 | | |
1009 | 1029 | | |
1010 | | - | |
| 1030 | + | |
1011 | 1031 | | |
1012 | 1032 | | |
1013 | 1033 | | |
| |||
Lines changed: 15 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
| |||
56 | 57 | | |
57 | 58 | | |
58 | 59 | | |
| 60 | + | |
59 | 61 | | |
60 | 62 | | |
61 | 63 | | |
| |||
65 | 67 | | |
66 | 68 | | |
67 | 69 | | |
| 70 | + | |
68 | 71 | | |
69 | 72 | | |
70 | 73 | | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
71 | 83 | | |
72 | 84 | | |
73 | 85 | | |
| |||
76 | 88 | | |
77 | 89 | | |
78 | 90 | | |
| 91 | + | |
79 | 92 | | |
80 | 93 | | |
81 | 94 | | |
| |||
204 | 217 | | |
205 | 218 | | |
206 | 219 | | |
207 | | - | |
| 220 | + | |
| 221 | + | |
208 | 222 | | |
209 | 223 | | |
210 | 224 | | |
| |||
0 commit comments