Commit 35e04a2
authored
fix: handle graceful cancellation in CloudEventsMiddleware to prevent 499 errors (#1713)
* fix: handle graceful cancellation in CloudEventsMiddleware to prevent 499 errors
Propagate CancellationToken to JsonSerializer and handle OperationCanceledException
gracefully when the response has already started. This prevents erroneous 499
Client Closed Connection errors in PubSub consumers under high load.
Fixes #1237
Signed-off-by: ali-Hamza817 <alihamzaminhas.21@gmail.com>
* test: fix cancellation test ordering and add response-not-started test
- Fix test ordering: move app.Run() before app.Build() to match
the pattern of all other tests in the file
- Use IHttpResponseFeature to properly simulate HasStarted=true
since DefaultHttpContext doesn't set it from WriteAsync
- Add new test: PropagatesCancellation_WhenResponseHasNotStarted
to verify exceptions are NOT swallowed when the response has
not started (correct ASP.NET Core behavior)
Signed-off-by: ali-Hamza817 <alihamzaminhas.21@gmail.com>
---------
Signed-off-by: ali-Hamza817 <alihamzaminhas.21@gmail.com>1 parent 961f8ee commit 35e04a2
File tree
2 files changed
+95
-19
lines changed- src/Dapr.AspNetCore
- test/Dapr.AspNetCore.Test
2 files changed
+95
-19
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
51 | | - | |
| 51 | + | |
52 | 52 | | |
53 | | - | |
54 | | - | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
59 | | - | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
65 | | - | |
66 | | - | |
67 | 53 | | |
68 | 54 | | |
69 | | - | |
| 55 | + | |
| 56 | + | |
70 | 57 | | |
71 | 58 | | |
72 | | - | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
73 | 67 | | |
74 | 68 | | |
75 | 69 | | |
76 | 70 | | |
77 | 71 | | |
78 | 72 | | |
79 | 73 | | |
80 | | - | |
| 74 | + | |
81 | 75 | | |
82 | 76 | | |
83 | 77 | | |
| |||
142 | 136 | | |
143 | 137 | | |
144 | 138 | | |
145 | | - | |
| 139 | + | |
146 | 140 | | |
147 | 141 | | |
148 | 142 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
| 24 | + | |
23 | 25 | | |
24 | 26 | | |
25 | 27 | | |
| 28 | + | |
26 | 29 | | |
27 | 30 | | |
28 | 31 | | |
| |||
478 | 481 | | |
479 | 482 | | |
480 | 483 | | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
| 522 | + | |
| 523 | + | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
| 533 | + | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
481 | 563 | | |
0 commit comments