- Notifications
You must be signed in to change notification settings - Fork5.2k
Commitf0cdc2a
committed
Limit checkpointer requests queue size
If the number of sync requests is big enough, the palloc() call inAbsorbSyncRequests() will attempt to allocate more than 1 GB of memory,resulting in failure. This can lead to an infinite loop in the checkpointerprocess, as it repeatedly fails to absorb the pending requests.This commit limits the checkpointer requests queue size to 10M items. Inaddition to preventing the palloc() failure, this change helps to avoid longqueue processing time.Also, this commit is for backpathing only. The master branch receivesa more invasive yet comprehensive fix for this problem.Discussion:https://postgr.es/m/db4534f83a22a29ab5ee2566ad86ca92%40postgrespro.ruBackpatch-through: 131 parente4d5854 commitf0cdc2a
1 file changed
+4
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
138 | 138 | | |
139 | 139 | | |
140 | 140 | | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
141 | 144 | | |
142 | 145 | | |
143 | 146 | | |
| |||
903 | 906 | | |
904 | 907 | | |
905 | 908 | | |
906 | | - | |
| 909 | + | |
907 | 910 | | |
908 | 911 | | |
909 | 912 | | |
| |||
0 commit comments
Comments
(0)