Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 39369b4

Browse files
committed
Zero padding in replication origin's checkpointed on disk-state.
This seems to be largely cosmetic, avoiding valgrind bleats and the like. The uninitialized padding influences the CRC of the on-disk entry, but because it's also used when verifying the CRC, that doesn't cause spurious failures. Backpatch nonetheless. It's a bit unfortunate that contrib/test_decoding/sql/replorigin.sql doesn't exercise the checkpoint path, but checkpoints are fairly expensive on weaker machines, and we'd have to stop/start for that to be meaningful. Author: Andres Freund Discussion: https://postgr.es/m/20170422183123.w2jgiuxtts7qrqaq@alap3.anarazel.de Backpatch: 9.5, where replication origins were introduced
1 parent f588548 commit 39369b4

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

src/backend/replication/logical/origin.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -566,6 +566,9 @@ CheckPointReplicationOrigin(void)
566566
if (curstate->roident == InvalidRepOriginId)
567567
continue;
568568

569+
/* zero, to avoid uninitialized padding bytes */
570+
memset(&disk_state, 0, sizeof(disk_state));
571+
569572
LWLockAcquire(&curstate->lock, LW_SHARED);
570573

571574
disk_state.roident = curstate->roident;

0 commit comments

Comments
 (0)