Reg thin pool activation failure - transaction id mismatch

Lakshmi Narasimhan Sundararajan <[email protected]> Wed, 18 Sep 2024 16:24:57 +0530
Newsgroups dev.linux.lists.lvm-devel
Message-ID <CAFe+wq1hQ=jV9bELpm4RXw1=6vPN7hriX0gV6OetNukBEu3ayA@mail.gmail.com>
Hi Team,
Good day all!

In yet another long testing run, I see a thin pool was unable to get
volume group thin pool activated.
vgchange -ay <vgname> fails with

```
/# vgchange -ay pwx3
Thin pool pwx3-pxpool-tpool (253:25) transaction_id is 6, while expected 24.
Thin pool pwx3-pxpool-tpool (253:25) transaction_id is 6, while expected 24.
Thin pool pwx3-pxpool-tpool (253:25) transaction_id is 6, while expected 24.
Thin pool pwx3-pxpool-tpool (253:25) transaction_id is 6, while expected 24.
3 logical volume(s) in volume group "pwx3" now active
```
It had other non thin lvols in the vg that got activated successfully.

I tried fixing the pool, by trying the following ``` lvconvert
--repair pwx3 ``` but this fails to fix the thin pool.

There was last configuration in the lvm config backup location.
I fixed the transaction id and used `vgcfgrestore --force -f <patched
config> pwx3` and this fixed the transaction id issue and vg was now
successfully activated.


And my follow up questions are:
1/ what exactly is a transaction id mismatch problem?
A little more detail about this problem will help me understand this better.

2/ Are there any known workflows that are known to create this issue?
So I can be careful to avoid such workflows.

3/ does recovery as above guarantee data in the pool? or is the pool
data suspect?

My environment is as below where the problem got seen:
```
# uname -a
Linux pwx-ocp-240-201-w6d5l-worker-0-zmtns
5.14.0-427.28.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jul 19
14:40:47 EDT 2024 x86_64 x86_64 x86_64 GNU/Linux
```

```
# lvm version LVM version: 2.03.23(2) (2023-11-21) Library version:
1.02.197 (2023-11-21) Driver version: 4.48.0 Configuration:
./configure --build=x86_64-redhat-linux-gnu
--host=x86_64-redhat-linux-gnu --program-prefix=
--disable-dependency-tracking --prefix=/usr --exec-prefix=/usr
--bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc
--datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64
--libexecdir=/usr/libexec --localstatedir=/var
--sharedstatedir=/var/lib --mandir=/usr/share/man
--infodir=/usr/share/info --with-default-dm-run-dir=/run
--with-default-run-dir=/run/lvm --with-default-pid-dir=/run
--with-default-locking-dir=/run/lock/lvm --with-usrlibdir=/usr/lib64
--enable-fsadm --enable-write_install --with-user= --with-group=
--with-device-uid=0 --with-device-gid=6 --with-device-mode=0660
--enable-pkgconfig --enable-cmdlib --enable-dmeventd
--enable-blkid_wiping --with-udevdir=/usr/lib/udev/rules.d
--enable-udev_sync --with-thin=internal --with-cache=internal
--enable-lvmpolld --enable-lvmlockd-dlm --enable-lvmlockd-dlmcontrol
--enable-lvmlockd-sanlock --enable-dbus-service --enable-notify-dbus
--enable-dmfilemapd --with-writecache=internal --with-vdo=internal
--with-vdo-format=/usr/bin/vdoformat --with-integrity=internal
--with-default-use-devices-file=1 --disable-silent-rules
--enable-app-machineid --enable-editline --disable-readline
```

```
# cat /etc/os-release
NAME="Red Hat Enterprise Linux CoreOS"
ID="rhcos"
ID_LIKE="rhel fedora"
VERSION="416.94.202407231922-0"
VERSION_ID="4.16"
VARIANT="CoreOS"
VARIANT_ID=coreos
PLATFORM_ID="platform:el9"
PRETTY_NAME="Red Hat Enterprise Linux CoreOS 416.94.202407231922-0"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:redhat:enterprise_linux:9::baseos::coreos"
HOME_URL="https://www.redhat.com/"
DOCUMENTATION_URL="https://docs.okd.io/latest/welcome/index.html"
BUG_REPORT_URL="https://access.redhat.com/labs/rhir/"
REDHAT_BUGZILLA_PRODUCT="OpenShift Container Platform"
REDHAT_BUGZILLA_PRODUCT_VERSION="4.16"
REDHAT_SUPPORT_PRODUCT="OpenShift Container Platform"
REDHAT_SUPPORT_PRODUCT_VERSION="4.16"
OPENSHIFT_VERSION="4.16"
RHEL_VERSION=9.4
OSTREE_VERSION="416.94.202407231922-0"
```

Best regards