coreos/rpm-ostree

Cancel leads to an immediate restart of a transaction and thus blocks again

Closed this issue · 1 comments

Host system details

❯ rpm-ostree status
State: busy
Transaction: upgrade 
  Initiator: client(id:cli dbus:1.524 unit:flatpak-session-helper.service uid:1000)
Deployments:
● fedora:fedora/39/x86_64/silverblue
                  Version: 39.20231202.0 (2023-12-02T00:51:49Z)
               BaseCommit: 3b73d8c1e9d9e1d150bfd71ce5dbb6aa413c1396b499393ee4246a98b18785f6
             GPGSignature: Valid signature by E8F23996F23218640CB44CBE75CF5AC418B8E74C
      RemovedBasePackages: firefox firefox-langpacks 120.0-3.fc39
          LayeredPackages: akmod-nvidia android-tools eza fd-find gnome-console gnome-tweaks
                           igt-gpu-tools libva-utils linux-libertine-fonts morewaita-icon-theme neovim
                           nvtop ripgrep rpmdevtools rpmfusion-free-release rpmfusion-nonfree-release
                           starship tilix vulkan-tools xorg-x11-drv-nvidia xorg-x11-drv-nvidia-cuda
                           xorg-x11-drv-nvidia-cuda-libs
            LocalPackages: akmods-keys-0.0.2-8.fc37.noarch brother-udev-rule-type1-1.0.2-0.noarch
                           brscan-skey-0.3.1-2.x86_64 brscan4-0.4.11-1.x86_64
                           mfcl3770cdwpdrv-1.0.2-0.i386

Expected vs actual behavior

❯ rpm-ostree cancel && rpm-ostree upgrade && flatpak update -y
Cancelling transaction: upgrade
Cancelled.
error: Transaction in progress: refresh-md
 You can cancel the current transaction with `rpm-ostree cancel`

~ 
❯ rpm-ostree cancel && rpm-ostree upgrade && flatpak update -y
Cancelling transaction: refresh-md
Cancelled.
error: Transaction in progress: upgrade
 You can cancel the current transaction with `rpm-ostree cancel`

~ 
❯ rpm-ostree cancel && rpm-ostree upgrade && flatpak update -y
Cancelling transaction: upgrade
Cancelled.
⠒ Scanning metadata: 1257...

Expected:

rpm-ostree often hangs at refresh-md, that’s why usually have to update manually – especially before a system restart. After stopping it via rpm-ostree cancel it’s still not possible to run it manually, as it seems to immediately restart its transaction. It should provide some time for executing it manually, say at least maybe 1-5 minutes before it restarts a transaction by itself.

Steps to reproduce it

I don’t know, if the refresh-md-blocking behaviour is wide-spread, so no idea.

This is a duplicate of #4790 I believe.