Release date: June xx, 2017
We are proud to announce the release of Fedora 4.7.3.
Resources
Team
Release Manager
- Nick Ruest - York University
- Andrew Woods - DuraSpace
Developers
- Andrew Woods - DuraSpace
- Aaron Birkland - Johns Hopkins University
Issue Reporters
Summary
The Fedora 4.7.3 release is a backwards compatible refinement of the previous release, which fixes a namespace-corrupting bug that has the effect of Fedora being unable to successfully start after having been shut down.
If you are running a 4.7.1 or 4.7.2 instance of Fedora that had been upgraded from a previous version (4.7.0 or earlier), and you do not believe it has ever been shut down since upgrading to 4.7.1 or 4.7.2, you MUST make a backup via fcr:backup immediately. To recover from this bug, take a backup (which will be corrupted in a particular way), fix the backup, and restore into an instance of 4.7.3. All users should take a backup of their Fedora instance before upgrading to 4.7.3 just to be safe.
Detailed Bug Remediation Notes
Who is affected
This occurs when all the following conditions are true:
- An earlier version of Fedora had been used to create objects, before upgrading to 4.7.1 and 4.7.2
One of the objects created in the repository prior to upgrade to 4.7.1 or 4.7.2 contains a triple using one or more of the following namespaces, and the prefix does NOT match the one shown:
config: info:fedoraconfig/
For example, if an object prior to upgrade to Fedora 4.7.1 or 4.7.2 looked like the following, it would be OK since the prefix matches the above table:
@prefix skos: <http://www.w3.org/2004/02/skos/core#> . <> skos:prefLabel “foo” .
On the other hand, if an object prior to the upgrade to 4.7.1 or 4.7.2 looked like this, it will cause the namespace corrupting bug:
@prefix ns004: <http://www.w3.org/2004/02/skos/core#> . <> ns004:prefLabel “foo” .
Viewing the objects in a running 4.7.1 or 4.7.2 instance is insufficient for determining if this bug affects you, as the prefixes that you are shown will not necessarily match the prefixes originally present in the object. If you have any objects containing triples whose predicate or object contains one of the above namespaces, you are at risk.
What is the problem
Fedora 4.7.1 and 4.7.2 added some global, hard-coded namespaces and prefixes to the fedora-node-types.cnd file. Any existing namespaces that conflict with these new hard-coded namespaces are deleted/overwritten when Fedora exits. This results in an inconsistent Modeshape database. The repository will function in this inconsistent state until a re-started is attempted, which will fail.
How to fix the issue
At a high-level you need to:
Take a backup
Fix the backup manually
Restore the backup into a new repository
Since it is somewhat difficult to determine if your repository is truly affected, a reasonable upgrade plan from 4.7.1 or 4.7.2 to 4.7.3 is:
Take a backup
Try simply upgrading 4.7.3 over the existing repository. If it starts up successfully, you are not affected by the issue, and are done!
If Fedora 4.7.3 fails to start, then you need to fix the backup manually, and restore into an empty repository