Commit a6d0b01
committed
fix: Improve handling of duplicate GitHub comments
The logic for updating and creating comments on GitHub pull requests was
updated to better handle scenarios with duplicate comments. Previously,
the system might create multiple identical comments or fail to correctly
update an existing one.
This change refactored the comment handling to first retrieve all
comments matching a marker. If duplicates are found, it now prioritizes
one comment to update and deletes the others. Additionally, a jittered
retry mechanism was introduced when creating new comments to reduce the
chance of race conditions where multiple processors might simultaneously
create duplicate comments. The test suite was also updated to cover
these deduplication scenarios.
Signed-off-by: Chmouel Boudjnah <chmouel@redhat.com>1 parent dd6f248 commit a6d0b01
4 files changed
Lines changed: 178 additions & 62 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
412 | 412 | | |
413 | 413 | | |
414 | 414 | | |
415 | | - | |
416 | | - | |
417 | | - | |
| 415 | + | |
418 | 416 | | |
419 | 417 | | |
420 | 418 | | |
421 | | - | |
422 | | - | |
423 | | - | |
| 419 | + | |
424 | 420 | | |
425 | 421 | | |
426 | 422 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
750 | 750 | | |
751 | 751 | | |
752 | 752 | | |
753 | | - | |
754 | | - | |
| 753 | + | |
755 | 754 | | |
756 | 755 | | |
757 | 756 | | |
| |||
765 | 764 | | |
766 | 765 | | |
767 | 766 | | |
| 767 | + | |
768 | 768 | | |
769 | 769 | | |
770 | | - | |
| 770 | + | |
771 | 771 | | |
772 | 772 | | |
773 | | - | |
| 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 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
774 | 818 | | |
775 | 819 | | |
776 | 820 | | |
| |||
784 | 828 | | |
785 | 829 | | |
786 | 830 | | |
787 | | - | |
| 831 | + | |
788 | 832 | | |
789 | 833 | | |
790 | 834 | | |
791 | 835 | | |
792 | | - | |
793 | | - | |
794 | | - | |
795 | | - | |
796 | | - | |
797 | | - | |
798 | | - | |
799 | | - | |
800 | | - | |
801 | | - | |
802 | | - | |
803 | | - | |
804 | | - | |
| 836 | + | |
| 837 | + | |
805 | 838 | | |
806 | 839 | | |
807 | | - | |
808 | | - | |
809 | | - | |
810 | | - | |
811 | | - | |
812 | | - | |
813 | | - | |
814 | | - | |
815 | 840 | | |
816 | 841 | | |
817 | 842 | | |
| |||
823 | 848 | | |
824 | 849 | | |
825 | 850 | | |
826 | | - | |
827 | | - | |
| 851 | + | |
| 852 | + | |
828 | 853 | | |
829 | 854 | | |
830 | 855 | | |
831 | | - | |
832 | | - | |
| 856 | + | |
| 857 | + | |
833 | 858 | | |
834 | 859 | | |
835 | 860 | | |
| |||
838 | 863 | | |
839 | 864 | | |
840 | 865 | | |
841 | | - | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
842 | 881 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1430 | 1430 | | |
1431 | 1431 | | |
1432 | 1432 | | |
1433 | | - | |
1434 | | - | |
1435 | | - | |
1436 | | - | |
1437 | | - | |
1438 | | - | |
| 1433 | + | |
| 1434 | + | |
| 1435 | + | |
| 1436 | + | |
| 1437 | + | |
| 1438 | + | |
| 1439 | + | |
1439 | 1440 | | |
1440 | 1441 | | |
1441 | 1442 | | |
| |||
1452 | 1453 | | |
1453 | 1454 | | |
1454 | 1455 | | |
1455 | | - | |
1456 | | - | |
| 1456 | + | |
| 1457 | + | |
| 1458 | + | |
1457 | 1459 | | |
1458 | 1460 | | |
1459 | | - | |
| 1461 | + | |
| 1462 | + | |
1460 | 1463 | | |
1461 | 1464 | | |
1462 | 1465 | | |
1463 | 1466 | | |
1464 | 1467 | | |
1465 | 1468 | | |
1466 | | - | |
1467 | | - | |
| 1469 | + | |
| 1470 | + | |
| 1471 | + | |
1468 | 1472 | | |
1469 | 1473 | | |
1470 | 1474 | | |
1471 | 1475 | | |
1472 | | - | |
1473 | | - | |
| 1476 | + | |
| 1477 | + | |
1474 | 1478 | | |
1475 | 1479 | | |
1476 | | - | |
| 1480 | + | |
| 1481 | + | |
1477 | 1482 | | |
1478 | 1483 | | |
1479 | 1484 | | |
1480 | 1485 | | |
1481 | 1486 | | |
1482 | 1487 | | |
1483 | | - | |
1484 | | - | |
| 1488 | + | |
| 1489 | + | |
| 1490 | + | |
1485 | 1491 | | |
1486 | 1492 | | |
1487 | 1493 | | |
1488 | 1494 | | |
1489 | 1495 | | |
1490 | 1496 | | |
1491 | | - | |
| 1497 | + | |
| 1498 | + | |
| 1499 | + | |
| 1500 | + | |
| 1501 | + | |
| 1502 | + | |
| 1503 | + | |
| 1504 | + | |
| 1505 | + | |
| 1506 | + | |
| 1507 | + | |
| 1508 | + | |
| 1509 | + | |
| 1510 | + | |
| 1511 | + | |
| 1512 | + | |
| 1513 | + | |
| 1514 | + | |
| 1515 | + | |
| 1516 | + | |
| 1517 | + | |
| 1518 | + | |
| 1519 | + | |
| 1520 | + | |
| 1521 | + | |
| 1522 | + | |
| 1523 | + | |
| 1524 | + | |
| 1525 | + | |
| 1526 | + | |
| 1527 | + | |
| 1528 | + | |
| 1529 | + | |
| 1530 | + | |
| 1531 | + | |
| 1532 | + | |
| 1533 | + | |
| 1534 | + | |
| 1535 | + | |
| 1536 | + | |
| 1537 | + | |
| 1538 | + | |
| 1539 | + | |
| 1540 | + | |
| 1541 | + | |
| 1542 | + | |
| 1543 | + | |
| 1544 | + | |
| 1545 | + | |
| 1546 | + | |
| 1547 | + | |
| 1548 | + | |
| 1549 | + | |
| 1550 | + | |
| 1551 | + | |
| 1552 | + | |
| 1553 | + | |
| 1554 | + | |
| 1555 | + | |
| 1556 | + | |
| 1557 | + | |
| 1558 | + | |
| 1559 | + | |
| 1560 | + | |
| 1561 | + | |
| 1562 | + | |
| 1563 | + | |
1492 | 1564 | | |
1493 | 1565 | | |
1494 | 1566 | | |
| |||
1498 | 1570 | | |
1499 | 1571 | | |
1500 | 1572 | | |
| 1573 | + | |
1501 | 1574 | | |
1502 | 1575 | | |
1503 | 1576 | | |
1504 | 1577 | | |
1505 | 1578 | | |
1506 | | - | |
1507 | | - | |
| 1579 | + | |
| 1580 | + | |
1508 | 1581 | | |
1509 | 1582 | | |
1510 | 1583 | | |
1511 | 1584 | | |
1512 | 1585 | | |
1513 | | - | |
| 1586 | + | |
| 1587 | + | |
| 1588 | + | |
| 1589 | + | |
| 1590 | + | |
| 1591 | + | |
1514 | 1592 | | |
1515 | 1593 | | |
1516 | 1594 | | |
1517 | 1595 | | |
1518 | 1596 | | |
1519 | 1597 | | |
| 1598 | + | |
| 1599 | + | |
| 1600 | + | |
1520 | 1601 | | |
1521 | 1602 | | |
1522 | 1603 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
65 | 65 | | |
66 | 66 | | |
67 | 67 | | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
68 | 73 | | |
69 | 74 | | |
70 | 75 | | |
| |||
73 | 78 | | |
74 | 79 | | |
75 | 80 | | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
| |||
0 commit comments