Details
-
Improvement
-
Resolution: Unresolved
-
Minor
-
None
-
3.0.0, 3.0.1
-
None
-
4
Description
Perform an upgrade of nexus 3 from an earlier version of nexus 3.
Upgrade requires the karaf bundle cache to be cleaned using a clean_cache marker file inside the ${karaf.data} property value directory or by manually deleting ${karaf.data}/cache.
The marker file cleans ${karaf.data}/cache , but it does not clean ${karaf.data}/tmp where previously cached 'wrapper' bundles are located from the earlier version.
At this time, using the old wrapper files do no harm, however there might be confusion when the bundles list is examined in the UI. See attached image of what one may see whe upgrading from 3.0.0-03 to 3.0.1-01 - bundles starting with wrap_file referencing the previous or older version. These bundles can be found inside ${karaf.data}/tmp
There is no functional harm as explained by mcculls:
If the new version of nexus uses a different version of the wrapped library then it will ignore the previous version and wrap the new version - if it's using the same version as before then the wrapping should have produced the same result (except the path might be different) so it's ok to re-use the one from data/tmp - the only issue would be if we had a custom wrapping instruction for a given library which changed from one release to the next without the version of the underlying library changing
Currently we only have a couple of custom wrapping instructions (which are very simple) - the rest of the wrapped libraries use karaf's default wrapping instructions - and the only reason to change any of our custom wrapping instructions is when there's a change in the underlying library being wrapped because its version has changed (usually because it no longer needs to be wrapped) which means karaf wouldn't re-use the old wrapped bundle anyway
Workaround For Using the Upgraded Version Wrapper bundles instead
1. Stop nexus.
2. Delete ${karaf.data}/tmp
3. Add another clean_cache marker file at ${karaf.data}/clean_cache
4. Start Nexus
5. Verify the bundles list in the UI no longer refers to old version wrap_files
Expected
- Nexus startup should provide an automatic mechanism to clean up cached wrapper files to avoid potential confusion and future potential upgrade issues