forked frompostgres/postgres
- Notifications
You must be signed in to change notification settings - Fork6
Commit1b02807
committed
Check for conflicting queries during replay of gistvacuumpage()
013ebc0 implements so-called GiST microvacuum. That is gistgettuple() marksindex tuples as dead when kill_prior_tuple is set. Later, when new tupleinsertion claims page space, those dead index tuples are physically deletedfrom page. When this deletion is replayed on standby, it might conflict withread-only queries. But013ebc0 doesn't handle this. That may lead todisappearance of some tuples from read-only snapshots on standby.This commit implements resolving of conflicts between replay of GiST microvacuumand standby queries. On the master we implement new WAL record typeXLOG_GIST_DELETE, which comprises necessary information. On stable releaseswe've to be tricky to keep WAL compatibility. Information required for conflictprocessing is just appended to data of XLOG_GIST_PAGE_UPDATE record. So,PostgreSQL version, which doesn't know about conflict processing, will justignore that.Reported-by: Andres FreundDiagnosed-by: Andres FreundDiscussion:https://postgr.es/m/20181212224524.scafnlyjindmrbe6%40alap3.anarazel.deAuthor: Alexander KorotkovBackpatch-through: 9.61 parente13d8a7 commit1b02807
File tree
5 files changed
+220
-16
lines changed- src
- backend/access/gist
- include/access
5 files changed
+220
-16
lines changedLines changed: 15 additions & 9 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
34 | 34 |
| |
35 | 35 |
| |
36 | 36 |
| |
37 |
| - | |
| 37 | + | |
| 38 | + | |
38 | 39 |
| |
39 | 40 |
| |
40 | 41 |
| |
| |||
161 | 162 |
| |
162 | 163 |
| |
163 | 164 |
| |
164 |
| - | |
| 165 | + | |
165 | 166 |
| |
166 | 167 |
| |
167 | 168 |
| |
| |||
207 | 208 |
| |
208 | 209 |
| |
209 | 210 |
| |
210 |
| - | |
| 211 | + | |
| 212 | + | |
211 | 213 |
| |
212 | 214 |
| |
213 | 215 |
| |
| |||
248 | 250 |
| |
249 | 251 |
| |
250 | 252 |
| |
251 |
| - | |
| 253 | + | |
252 | 254 |
| |
253 | 255 |
| |
254 | 256 |
| |
| |||
524 | 526 |
| |
525 | 527 |
| |
526 | 528 |
| |
527 |
| - | |
| 529 | + | |
528 | 530 |
| |
529 | 531 |
| |
530 | 532 |
| |
| |||
572 | 574 |
| |
573 | 575 |
| |
574 | 576 |
| |
575 |
| - | |
| 577 | + | |
| 578 | + | |
576 | 579 |
| |
577 | 580 |
| |
578 | 581 |
| |
| |||
584 | 587 |
| |
585 | 588 |
| |
586 | 589 |
| |
| 590 | + | |
587 | 591 |
| |
588 | 592 |
| |
589 | 593 |
| |
| |||
1194 | 1198 |
| |
1195 | 1199 |
| |
1196 | 1200 |
| |
1197 |
| - | |
| 1201 | + | |
| 1202 | + | |
1198 | 1203 |
| |
1199 | 1204 |
| |
1200 | 1205 |
| |
| |||
1493 | 1498 |
| |
1494 | 1499 |
| |
1495 | 1500 |
| |
1496 |
| - | |
| 1501 | + | |
1497 | 1502 |
| |
1498 | 1503 |
| |
1499 | 1504 |
| |
| |||
1541 | 1546 |
| |
1542 | 1547 |
| |
1543 | 1548 |
| |
1544 |
| - | |
| 1549 | + | |
| 1550 | + | |
1545 | 1551 |
| |
1546 | 1552 |
| |
1547 | 1553 |
| |
|
Lines changed: 5 additions & 2 deletions
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
55 | 55 |
| |
56 | 56 |
| |
57 | 57 |
| |
| 58 | + | |
58 | 59 |
| |
59 | 60 |
| |
60 | 61 |
| |
| |||
121 | 122 |
| |
122 | 123 |
| |
123 | 124 |
| |
| 125 | + | |
124 | 126 |
| |
125 | 127 |
| |
126 | 128 |
| |
| |||
483 | 485 |
| |
484 | 486 |
| |
485 | 487 |
| |
486 |
| - | |
| 488 | + | |
487 | 489 |
| |
488 | 490 |
| |
489 | 491 |
| |
| |||
689 | 691 |
| |
690 | 692 |
| |
691 | 693 |
| |
692 |
| - | |
| 694 | + | |
| 695 | + | |
693 | 696 |
| |
694 | 697 |
| |
695 | 698 |
| |
|
Lines changed: 2 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
224 | 224 |
| |
225 | 225 |
| |
226 | 226 |
| |
227 |
| - | |
| 227 | + | |
| 228 | + | |
228 | 229 |
| |
229 | 230 |
| |
230 | 231 |
| |
|
Lines changed: 192 additions & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
14 | 14 |
| |
15 | 15 |
| |
16 | 16 |
| |
| 17 | + | |
| 18 | + | |
17 | 19 |
| |
18 | 20 |
| |
| 21 | + | |
| 22 | + | |
19 | 23 |
| |
20 | 24 |
| |
21 | 25 |
| |
| |||
58 | 62 |
| |
59 | 63 |
| |
60 | 64 |
| |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
61 | 214 |
| |
62 | 215 |
| |
63 | 216 |
| |
| |||
69 | 222 |
| |
70 | 223 |
| |
71 | 224 |
| |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
72 | 253 |
| |
73 | 254 |
| |
74 | 255 |
| |
| |||
390 | 571 |
| |
391 | 572 |
| |
392 | 573 |
| |
393 |
| - | |
| 574 | + | |
394 | 575 |
| |
395 | 576 |
| |
396 | 577 |
| |
| |||
402 | 583 |
| |
403 | 584 |
| |
404 | 585 |
| |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
405 | 596 |
| |
406 | 597 |
| |
407 | 598 |
| |
|
0 commit comments
Comments
(0)