Commit 21d48d6
committed
Don't pay heed to wal_sender_timeout while creating a decoding slot.
Sometimes CREATE_REPLICATION_SLOT ... LOGICAL ... needs to wait for
further WAL using WalSndWaitForWal(). That used to always respect
wal_sender_timeout and kill the session when waiting long enough
because no feedback/ping messages can be sent while the slot is still
being created.
Introduce the notion that last_reply_timestamp = 0 means that the
walsender currently doesn't need timeout processing to avoid that
problem. Use that notion for CREATE_REPLICATION_SLOT ... LOGICAL.
Bugreport and initial patch by Steve Singer, revised by me.1 parent d1d50bf commit 21d48d6
1 file changed
+26
-5
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
148 | 148 | | |
149 | 149 | | |
150 | 150 | | |
151 | | - | |
| 151 | + | |
| 152 | + | |
152 | 153 | | |
153 | | - | |
| 154 | + | |
154 | 155 | | |
155 | 156 | | |
156 | 157 | | |
| |||
796 | 797 | | |
797 | 798 | | |
798 | 799 | | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
799 | 809 | | |
800 | 810 | | |
801 | 811 | | |
| |||
1693 | 1703 | | |
1694 | 1704 | | |
1695 | 1705 | | |
1696 | | - | |
| 1706 | + | |
1697 | 1707 | | |
1698 | 1708 | | |
1699 | 1709 | | |
| |||
1735 | 1745 | | |
1736 | 1746 | | |
1737 | 1747 | | |
| 1748 | + | |
| 1749 | + | |
| 1750 | + | |
| 1751 | + | |
1738 | 1752 | | |
1739 | 1753 | | |
1740 | 1754 | | |
| |||
1764 | 1778 | | |
1765 | 1779 | | |
1766 | 1780 | | |
1767 | | - | |
| 1781 | + | |
| 1782 | + | |
| 1783 | + | |
| 1784 | + | |
1768 | 1785 | | |
1769 | 1786 | | |
1770 | 1787 | | |
| |||
2879 | 2896 | | |
2880 | 2897 | | |
2881 | 2898 | | |
2882 | | - | |
| 2899 | + | |
| 2900 | + | |
| 2901 | + | |
| 2902 | + | |
| 2903 | + | |
2883 | 2904 | | |
2884 | 2905 | | |
2885 | 2906 | | |
| |||
0 commit comments