Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-819

unable to rename / delete bundle cache location on update or uninstall

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • framework-1.4.1
    • framework-1.4.1
    • Framework
    • 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...

      Attachments

        1. test-bundles.zip
          9 kB
          Walid Joseph Gedeon

        Activity

          People

            rickhall Richard S. Hall
            wgedeon Walid Joseph Gedeon
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: