Details
-
Suggestion
-
Resolution: Unresolved
-
None
-
None
-
4
-
Description
Issue Summary
Upgrading glibc to >= 2.28 allows unique constraint violation in Postgres, as the sorting order changes for most of the collations. This may lead to database inconsistency.
The Glibc library version 2.28 has been released on a majority of Linux systems:
- Redhat 8 (released May 7th, 2019)
- Debian 10 (July 6th, 2019)
- Fedora 29 (October 30, 2018)
- and others
and is updated alongside with system upgrade.
Only running the full reindex ahead of starting the application solves the issue.
Steps to Reproduce
- Deploy Bitbucket database in an OS with glibc < 2.28 (for example Debian Stretch)
- Create repositories with "-", "_", "." in repositories names in the same project.
- Upgrade the database OS (in case of Debian - to Buster). The glibc will be updated to 2.28.
- Try to create repositories in the same project with the same name.
Expected Results
New repositories can't be created.
Actual Results
Repositories will be created in the same project, which will lead to duplicates and unique constraint violations in the database.
Workaround
Reindex whole database after OS upgrade.
Feature suggestion
Allow Bitbucket to verify the integrity of indexes during the Bitbucket startup process.
Attachments
Issue Links
- mentioned in
-
Page Loading...