Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
framework-1.4.1
-
None
-
Windows (XP Pro)
Description
Hello all,
It looks like the revision.location is missing from the bundle cache after the shutdown purge. Steps:
- install bundle
- update bundle
- shutdown
The next start shows a:
ERROR: org.apache.felix.framework.cache.BundleCache: Error creating archive. (java.io.FileNotFoundException: .\felixcache\bundle24\version2.0\revision.location (The system cannot find the file specified))
Looking in the directory, the file is not there.
Stepping through the code shows that the BundleArchive.purge() attempts to rename the last bundle revision to a fresh one... except that the File.rename is not platform independent (it fails on windows quite often).
When BundleCache.getSecureAction().renameFile(revisionDir, currentDir) returns false (rename failed), createRevisionFromLocation follows and does not include a new revision.location file.
Maybe a call to setRevisionLocation() is to be made after createRevisionFromLocation (BundleArchive:866)? I'll try that out...