Commit 4aa0256
fix(routing): aggregate backend writability for client backpressure (kroxylicious#4238)
* fix(routing): aggregate backend writability for client backpressure
Signed-off-by: dahyvuun <dahyvuun@gmail.com>
* chore: format ClientConnectionStateMachineTest
Signed-off-by: dahyvuun <dahyvuun@gmail.com>
* Fix isWritable() to track actual server channel writability
serverReadsBlocked only tracked client-side congestion, so isWritable() never reflected the real state of the server channel, making the multi-backend backpressure guard a no-op. Add a dedicated serverChannelWritable field, set from onServerWritable()/onServerUnwritable(), and have isWritable() return that instead.
Assisted-by: Claude
Signed-off-by: dahyvuun <dahyvuun@gmail.com>
* chore: remove duplicate stub and document serverChannelWritable field
Signed-off-by: dahyvuun <dahyvuun@gmail.com>
* chore: extract metadataRequest() out of assertThatThrownBy lambda
Signed-off-by: dahyvuun <dahyvuun@gmail.com>
* chore: trigger CI
Signed-off-by: dahyvuun <dahyvuun@gmail.com>
* fix: add missing semicolon in ClientConnectionStateMachineTest
Signed-off-by: dahyvuun <dahyvuun@gmail.com>
* fix: restore assertion chain in forwardToRouteShouldTransitionToClosedIfScsmCreationFails
Signed-off-by: dahyvuun <dahyvuun@gmail.com>
* fix: remove onClientRequest assertion merged from conflict resolution
Signed-off-by: dahyvuun <dahyvuun@gmail.com>
* docs(runtime): document backpressure contract on CCSM and SCSM
The backpressure invariants were undocumented on both classes. Add
the concrete rules to each class javadoc so the contract is explicit.
Assisted-by: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Sam Barker <sam@quadrocket.co.uk>
---------
Signed-off-by: dahyvuun <dahyvuun@gmail.com>
Signed-off-by: Dahyun Woo <164325611+dahyvuun@users.noreply.github.com>
Signed-off-by: Sam Barker <sam@quadrocket.co.uk>
Co-authored-by: Robert Young <robeyoun@redhat.com>
Co-authored-by: Sam Barker <sam@quadrocket.co.uk>1 parent 50f6b76 commit 4aa0256
4 files changed
Lines changed: 134 additions & 7 deletions
File tree
- kroxylicious-runtime/src
- main/java/io/kroxylicious/proxy/internal
- test/java/io/kroxylicious/proxy/internal
Lines changed: 17 additions & 7 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
107 | | - | |
108 | | - | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
109 | 110 | | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
110 | 116 | | |
111 | 117 | | |
112 | 118 | | |
| |||
368 | 374 | | |
369 | 375 | | |
370 | 376 | | |
371 | | - | |
372 | | - | |
373 | | - | |
374 | | - | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
375 | 386 | | |
376 | | - | |
377 | 387 | | |
378 | 388 | | |
379 | 389 | | |
| |||
Lines changed: 22 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
63 | 71 | | |
64 | 72 | | |
65 | 73 | | |
| |||
89 | 97 | | |
90 | 98 | | |
91 | 99 | | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
92 | 107 | | |
93 | 108 | | |
94 | 109 | | |
| |||
394 | 409 | | |
395 | 410 | | |
396 | 411 | | |
| 412 | + | |
397 | 413 | | |
398 | 414 | | |
399 | 415 | | |
400 | 416 | | |
| 417 | + | |
401 | 418 | | |
402 | 419 | | |
403 | 420 | | |
| |||
444 | 461 | | |
445 | 462 | | |
446 | 463 | | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
447 | 468 | | |
448 | 469 | | |
449 | 470 | | |
| |||
491 | 512 | | |
492 | 513 | | |
493 | 514 | | |
| 515 | + | |
494 | 516 | | |
495 | 517 | | |
496 | 518 | | |
| |||
Lines changed: 52 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
76 | 76 | | |
77 | 77 | | |
78 | 78 | | |
| 79 | + | |
79 | 80 | | |
80 | 81 | | |
81 | 82 | | |
| |||
127 | 128 | | |
128 | 129 | | |
129 | 130 | | |
| 131 | + | |
130 | 132 | | |
131 | 133 | | |
132 | 134 | | |
| |||
1193 | 1195 | | |
1194 | 1196 | | |
1195 | 1197 | | |
| 1198 | + | |
| 1199 | + | |
| 1200 | + | |
| 1201 | + | |
| 1202 | + | |
| 1203 | + | |
| 1204 | + | |
| 1205 | + | |
| 1206 | + | |
| 1207 | + | |
| 1208 | + | |
| 1209 | + | |
| 1210 | + | |
| 1211 | + | |
| 1212 | + | |
| 1213 | + | |
| 1214 | + | |
| 1215 | + | |
| 1216 | + | |
| 1217 | + | |
| 1218 | + | |
| 1219 | + | |
| 1220 | + | |
| 1221 | + | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
| 1225 | + | |
| 1226 | + | |
| 1227 | + | |
| 1228 | + | |
| 1229 | + | |
| 1230 | + | |
| 1231 | + | |
| 1232 | + | |
| 1233 | + | |
| 1234 | + | |
| 1235 | + | |
| 1236 | + | |
| 1237 | + | |
| 1238 | + | |
| 1239 | + | |
| 1240 | + | |
| 1241 | + | |
| 1242 | + | |
| 1243 | + | |
| 1244 | + | |
| 1245 | + | |
| 1246 | + | |
| 1247 | + | |
1196 | 1248 | | |
1197 | 1249 | | |
1198 | 1250 | | |
| |||
Lines changed: 43 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
746 | 746 | | |
747 | 747 | | |
748 | 748 | | |
| 749 | + | |
749 | 750 | | |
750 | 751 | | |
751 | 752 | | |
| |||
757 | 758 | | |
758 | 759 | | |
759 | 760 | | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
| 765 | + | |
| 766 | + | |
| 767 | + | |
| 768 | + | |
| 769 | + | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
| 776 | + | |
| 777 | + | |
| 778 | + | |
| 779 | + | |
| 780 | + | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
| 784 | + | |
| 785 | + | |
| 786 | + | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
760 | 802 | | |
761 | 803 | | |
762 | 804 | | |
| |||
812 | 854 | | |
813 | 855 | | |
814 | 856 | | |
| 857 | + | |
815 | 858 | | |
816 | 859 | | |
817 | 860 | | |
| |||
0 commit comments