Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to sqlite rpmdb backend #795

Merged
merged 1 commit into from
Jan 7, 2021
Merged

Conversation

jlebon
Copy link
Member

@jlebon jlebon commented Dec 21, 2020

There won't be any support for writing to the bdb backend in f34, so
e.g. pkglayering won't work (and obviously even composes wouldn't work
once we move cosa to f34).

All the production streams now have an f33 barrier release (as part of
the resolved workarounds), so it should be safe to switch to sqlite now.

For the other rpm-ostree-based variants, we'll probably just flip the
default in rpm-ostree to sqlite in f34. But at least in FCOS, we can do
this now so that we flush out any issues earlier and squash the ugly
warnings when querying the rpmdb.

Closes: #623

@jlebon
Copy link
Member Author

jlebon commented Dec 21, 2020

Let's keep this as draft until the new year and e.g. one more round of releases to be safe.

There won't be any support for writing to the bdb backend in f34, so
e.g. pkglayering won't work (and obviously even composes wouldn't work
once we move cosa to f34).

All the production streams now have an f33 barrier release (as part of
the resolved workarounds), so it should be safe to switch to sqlite now.

For the other rpm-ostree-based variants, we'll probably just flip the
default in rpm-ostree to sqlite in f34. But at least in FCOS, we can do
this now so that we flush out any issues earlier and squash the ugly
warnings when querying the rpmdb.

Closes: coreos/fedora-coreos-tracker#623
Copy link
Member

@dustymabe dustymabe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - love that we have a simple test and how easy it is to switch/verify the opposite behavior.

Any potential issues with upgrading systems (with or without package layering)?

@jlebon
Copy link
Member Author

jlebon commented Dec 22, 2020

Any potential issues with upgrading systems (with or without package layering)?

The main risk is if a user tries to do pkglayering on top of an f33/sqlite commit from an f32 deployment. Now, that should be pretty rare because we do have a barrier f33 release, and they'd be skipping over that. But e.g. they could have reverted from the barrier release back to the f32 fallback, and then tried a direct rpm-ostree upgrade instead after a new update with the f33/sqlite change is available. The bit about

and e.g. one more round of releases to be safe

is to widen the distance from that possibly happening.

But then again, I think at this point we really require nodes to go through the barriers, because our maintenance efforts rely on assuming that all the precise state mutations we've rolled out actually took place.

@jlebon
Copy link
Member Author

jlebon commented Jan 6, 2021

New year and we've had another round of releases, so I think we're ready to do this!

@jlebon jlebon marked this pull request as ready for review January 6, 2021 22:12
@jlebon
Copy link
Member Author

jlebon commented Jan 7, 2021

This already had two approvals, so just restarted CI and marked for auto-merge.

@jlebon jlebon enabled auto-merge (rebase) January 7, 2021 19:34
@jlebon jlebon merged commit 51cd493 into coreos:testing-devel Jan 7, 2021
@cgwalters
Copy link
Member

This is causing coreos/rpm-ostree#2435
Haven't fully debugged why though. The code paths here are rather complex.

@cgwalters
Copy link
Member

Possibly some variant of openSUSE/libsolv#386

@jlebon
Copy link
Member Author

jlebon commented Jan 8, 2021

OK, let's revert for now: #812.

@jlebon jlebon deleted the pr/sqlite branch April 23, 2023 23:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants