Thread: BUG #17937: Corrupt Indexes after reusing DRBD Device on new VM

BUG #17937: Corrupt Indexes after reusing DRBD Device on new VM

From
PG Bug reporting form
Date:
The following bug has been logged on the website:

Bug reference:      17937
Logged by:          Marc Morad
Email address:      marc.morad@gmail.com
PostgreSQL version: 13.8
Operating system:   Alma 8
Description:

This problem occured on PostgreSQL version 13.8 and 14.7. 

After we migrated the VM from CentOS 7 to AlmaLinux 8, we had a few issues
with broken/corrupt indexes. This problem occured a total of 3 times. Each
time the procedure of the migration was exactly the same. 
We are using a DRBD device to store our database redundantly, which we
reused when we migrated to AlmaLinux 8. 

The error messages all looked very similar to the following: 
Database error: [S]ERROR#012[V]ERROR#012[C]XX002#012[M]table tid from new
index tuple (3346213,70) cannot find insert offset between offsets 2 and 4
of block 5485 in index 

Have you ever heard of a similiar problem ?
Any leads what might cause these problems would be very helpful. 

Thank you and kind regards,
Marc


Re: BUG #17937: Corrupt Indexes after reusing DRBD Device on new VM

From
Joe Conway
Date:
On 5/17/23 05:42, PG Bug reporting form wrote:
> After we migrated the VM from CentOS 7 to AlmaLinux 8, we had a few issues
> with broken/corrupt indexes. This problem occured a total of 3 times. Each

> The error messages all looked very similar to the following:
> Database error: [S]ERROR#012[V]ERROR#012[C]XX002#012[M]table tid from new
> index tuple (3346213,70) cannot find insert offset between offsets 2 and 4
> of block 5485 in index

> Have you ever heard of a similiar problem ?
> Any leads what might cause these problems would be very helpful.

CentOS 7 is glibc 2.17
AlmaLinux 8 is glibc 2.28

There are known issues with glibc upgrades (in particular 2.28, but also 
in general) causing collation changes which break all indexes which use 
glibc collations (basically text, varchar, char). You need to rebuild 
them, preferably before allowing *any* write activity (inserts or updates).

-- 
Joe Conway
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com