diff options
author | Jeff Davis <jdavis@postgresql.org> | 2022-11-10 14:46:30 -0800 |
---|---|---|
committer | Jeff Davis <jdavis@postgresql.org> | 2022-11-11 12:46:11 -0800 |
commit | 7bf713dd2d0739fbcd4103971ed69c17ebe677ea (patch) | |
tree | ad26400f8157b25cbe7a1392f0dc7d17451a16e7 /src/backend/utils/adt/arrayutils.c | |
parent | 9c1a4fc891646110fe9b306fe4103f052504d6d9 (diff) | |
download | postgresql-7bf713dd2d0739fbcd4103971ed69c17ebe677ea.tar.gz postgresql-7bf713dd2d0739fbcd4103971ed69c17ebe677ea.zip |
Fix theoretical torn page hazard.
The original report was concerned with a possible inconsistency
between the heap and the visibility map, which I was unable to
confirm. The concern has been retracted.
However, there did seem to be a torn page hazard when using
checksums. By not setting the heap page LSN during redo, the
protections of minRecoveryPoint were bypassed. Fixed, along with a
misleading comment.
It may have been impossible to hit this problem in practice, because
it would require a page tear between the checksum and the flags, so I
am marking this as a theoretical risk. But, as discussed, it did
violate expectations about the page LSN, so it may have other
consequences.
Backpatch to all supported versions.
Reported-by: Konstantin Knizhnik
Reviewed-by: Konstantin Knizhnik
Discussion: https://postgr.es/m/fed17dac-8cb8-4f5b-d462-1bb4908c029e@garret.ru
Backpatch-through: 11
Diffstat (limited to 'src/backend/utils/adt/arrayutils.c')
0 files changed, 0 insertions, 0 deletions