- Notifications
You must be signed in to change notification settings - Fork5.2k
Commitbae5078
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 parent75f633f commitbae5078
1 file changed
+4
-1
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
135 | 135 | | |
136 | 136 | | |
137 | 137 | | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
138 | 141 | | |
139 | 142 | | |
140 | 143 | | |
| |||
970 | 973 | | |
971 | 974 | | |
972 | 975 | | |
973 | | - | |
| 976 | + | |
974 | 977 | | |
975 | 978 | | |
976 | 979 | | |
| |||
0 commit comments
Comments
(0)