Project

General

Profile

Actions

Bug #35966

closed

Locale change caused by RHEL upgrade results in database index corruption "get() returned more than one Modulemd -- it returned 2!"

Added by Evgeni Golov almost 2 years ago. Updated almost 2 years ago.

Status:
Closed
Priority:
Urgent
Assignee:
Category:
-
Target version:
-

Description

Cloned from https://bugzilla.redhat.com/show_bug.cgi?id=2161929

This is a clone for Foreman Maintain, as that needs to perform the reindexing in the case of a DB restore of a EL7 backup on EL8!

++ This bug was initially created as a clone of Bug #2142270 ++

Description of problem:
----------------------

Repository synchronization on Red Hat Satellite 6.11.3 on RHEL-8 fails with the following error :

Katello::Errors::Pulp3Error "get() returned more than one Modulemd -- it returned 2!"

Error:
Katello::Errors::Pulp3Error
get() returned more than one Modulemd -- it returned 2!

It seems to be related to the locales change in glibc-2.28 causing the collation changed in Postgresql
--------------
https://dba.stackexchange.com/questions/268027/postgresql-duplicates-despite-having-a-unique-constraint
https://wiki.postgresql.org/wiki/Locale_data_changes
https://postgresql.verite.pro/blog/2018/08/27/glibc-upgrade.html
-------------

I checked 3 cases attached to this bugzilla. They are running Satellite on RHEL 8 which having glibc-2.28.

Looking at the pulp_created column in core_content, the duplicated records were also created after the release date of Satellite 6.11.

It seems like we will need to reindex all the tables to avoid the issue after upgrading the OS to RHEL 8.

Actions

Also available in: Atom PDF