Commit c99cdb4
committed
fix: prevent duplicate concurrent pods on unresponsive activation restart
When the monitor detects an unresponsive activation and triggers a
restart, _watch_pod_deletion falsely reports success if the watch
stream times out without receiving a DELETED event. This allows
_unresponsive_policy to restart the activation while the original
pod is still running, producing ghost pods that compete for shared
resources like Kafka consumer groups.
Two fixes:
1. _watch_pod_deletion now tracks whether a DELETED event was actually
received. If the watch times out without one, it retries instead of
reporting success. After all retries, it raises ContainerCleanupError.
2. _unresponsive_policy now calls _cleanup explicitly via a new
_handle_unresponsive_activation helper. If cleanup fails, the
restart is skipped to avoid creating a duplicate pod. The activation
is still marked FAILED regardless of cleanup outcome.
3. adds a list_then_watch flow for deleting a pod so that we don't loose track
of the pods we are trying to delete
Fixes: AAP-812011 parent 51086aa commit c99cdb4
4 files changed
Lines changed: 307 additions & 36 deletions
File tree
- src/aap_eda/services/activation
- engine
- tests/integration/services/activation
- engine
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
377 | 377 | | |
378 | 378 | | |
379 | 379 | | |
380 | | - | |
381 | | - | |
382 | | - | |
383 | | - | |
384 | | - | |
385 | | - | |
386 | | - | |
387 | | - | |
388 | | - | |
389 | | - | |
390 | | - | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
391 | 385 | | |
392 | | - | |
393 | | - | |
394 | | - | |
395 | | - | |
396 | | - | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
| 389 | + | |
| 390 | + | |
397 | 391 | | |
398 | 392 | | |
399 | | - | |
400 | | - | |
| 393 | + | |
| 394 | + | |
| 395 | + | |
| 396 | + | |
| 397 | + | |
| 398 | + | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
401 | 403 | | |
402 | 404 | | |
403 | | - | |
404 | 405 | | |
405 | 406 | | |
406 | 407 | | |
407 | 408 | | |
408 | | - | |
409 | 409 | | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
410 | 420 | | |
411 | 421 | | |
412 | 422 | | |
413 | 423 | | |
414 | 424 | | |
415 | 425 | | |
416 | | - | |
417 | | - | |
418 | | - | |
419 | 426 | | |
420 | 427 | | |
421 | 428 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
53 | | - | |
| 53 | + | |
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| |||
566 | 566 | | |
567 | 567 | | |
568 | 568 | | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
569 | 580 | | |
570 | 581 | | |
571 | 582 | | |
| 583 | + | |
| 584 | + | |
572 | 585 | | |
573 | 586 | | |
574 | 587 | | |
| |||
581 | 594 | | |
582 | 595 | | |
583 | 596 | | |
584 | | - | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
585 | 600 | | |
586 | | - | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
587 | 604 | | |
588 | 605 | | |
589 | 606 | | |
590 | 607 | | |
591 | 608 | | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
592 | 612 | | |
593 | 613 | | |
594 | 614 | | |
595 | 615 | | |
596 | 616 | | |
597 | 617 | | |
| 618 | + | |
598 | 619 | | |
599 | 620 | | |
600 | 621 | | |
601 | 622 | | |
602 | 623 | | |
603 | 624 | | |
| 625 | + | |
604 | 626 | | |
605 | | - | |
606 | | - | |
607 | | - | |
608 | | - | |
609 | | - | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
610 | 633 | | |
611 | 634 | | |
612 | 635 | | |
| |||
660 | 683 | | |
661 | 684 | | |
662 | 685 | | |
663 | | - | |
| 686 | + | |
664 | 687 | | |
665 | 688 | | |
666 | 689 | | |
| |||
Lines changed: 99 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
714 | 714 | | |
715 | 715 | | |
716 | 716 | | |
717 | | - | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
718 | 722 | | |
719 | 723 | | |
720 | 724 | | |
| |||
730 | 734 | | |
731 | 735 | | |
732 | 736 | | |
733 | | - | |
| 737 | + | |
| 738 | + | |
| 739 | + | |
| 740 | + | |
734 | 741 | | |
735 | 742 | | |
736 | 743 | | |
| |||
1153 | 1160 | | |
1154 | 1161 | | |
1155 | 1162 | | |
1156 | | - | |
1157 | | - | |
| 1163 | + | |
| 1164 | + | |
| 1165 | + | |
| 1166 | + | |
| 1167 | + | |
1158 | 1168 | | |
1159 | 1169 | | |
1160 | 1170 | | |
| |||
1204 | 1214 | | |
1205 | 1215 | | |
1206 | 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 | + | |
| 1248 | + | |
| 1249 | + | |
| 1250 | + | |
| 1251 | + | |
| 1252 | + | |
| 1253 | + | |
| 1254 | + | |
| 1255 | + | |
| 1256 | + | |
| 1257 | + | |
| 1258 | + | |
| 1259 | + | |
| 1260 | + | |
| 1261 | + | |
| 1262 | + | |
| 1263 | + | |
| 1264 | + | |
| 1265 | + | |
| 1266 | + | |
| 1267 | + | |
| 1268 | + | |
| 1269 | + | |
| 1270 | + | |
| 1271 | + | |
| 1272 | + | |
| 1273 | + | |
| 1274 | + | |
| 1275 | + | |
| 1276 | + | |
| 1277 | + | |
| 1278 | + | |
| 1279 | + | |
| 1280 | + | |
| 1281 | + | |
| 1282 | + | |
| 1283 | + | |
| 1284 | + | |
| 1285 | + | |
| 1286 | + | |
| 1287 | + | |
| 1288 | + | |
| 1289 | + | |
| 1290 | + | |
| 1291 | + | |
| 1292 | + | |
| 1293 | + | |
| 1294 | + | |
| 1295 | + | |
| 1296 | + | |
| 1297 | + | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
| 1301 | + | |
1207 | 1302 | | |
1208 | 1303 | | |
1209 | 1304 | | |
| |||
0 commit comments