REGRESSION: FileInstall relies on location to be a valid URL for update to be 
successful
----------------------------------------------------------------------------------------

                 Key: FELIX-1787
                 URL: https://issues.apache.org/jira/browse/FELIX-1787
             Project: Felix
          Issue Type: Bug
          Components: File Install
         Environment: Linux
            Reporter: Sahoo
             Fix For: fileinstall-2.0.2


I am currently using FileInstall 1.2.0. While trying to test the staged 2.0.2 
binaries, I observed this regression. New fileinstall is calling 
bundle.update() which relied on the bundle location to be a valid URL. Since 
old fileinstall was installing bundles with a location same as absolute path 
(i.e., it was not a valid URL), when I upgraded to newer version of 
fileinstall, my OSGi cache still had bundles with location which is not a valid 
URL. When I updated one such bundle, I got the following exception:

21 Oct, 2009 6:30:41 PM  
INFO: Failed to update artifact 
/space/ss141213/WS/gf/v3/publish/glassfishv3/glassfish/modules/autostart/org.apache.felix.scr.jar:
 org.osgi.framework.BundleException: Update of bundle org.apache.felix.scr 
[210] failed.
21 Oct, 2009 6:30:41 PM  
INFO: org.osgi.framework.BundleException: Update of bundle org.apache.felix.scr 
[210] failed.
        at org.apache.felix.framework.Felix.updateBundle(Felix.java:1966)
        at org.apache.felix.framework.BundleImpl.update(BundleImpl.java:908)
        at org.apache.felix.framework.BundleImpl.update(BundleImpl.java:895)
        at 
org.apache.felix.fileinstall.internal.DirectoryWatcher.update(DirectoryWatcher.java:913)
        at 
org.apache.felix.fileinstall.internal.DirectoryWatcher.update(DirectoryWatcher.java:721)
        at 
org.apache.felix.fileinstall.internal.DirectoryWatcher.process(DirectoryWatcher.java:374)
        at 
org.apache.felix.fileinstall.internal.DirectoryWatcher.run(DirectoryWatcher.java:200)
Caused by: java.net.MalformedURLException: no protocol: 
/space/ss141213/WS/gf/v3/publish/glassfishv3/glassfish/modules/autostart/org.apache.felix.scr.jar
        at java.net.URL.<init>(URL.java:567)
        at java.net.URL.<init>(URL.java:464)
        at java.net.URL.<init>(URL.java:413)
        at 
org.apache.felix.framework.cache.JarRevision.initialize(JarRevision.java:150)
        at 
org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:79)
        at 
org.apache.felix.framework.cache.JarRevision.<init>(JarRevision.java:57)
        at 
org.apache.felix.framework.cache.BundleArchive.createRevisionFromLocation(BundleArchive.java:1004)
        at 
org.apache.felix.framework.cache.BundleArchive.revise(BundleArchive.java:629)
        at org.apache.felix.framework.BundleImpl.revise(BundleImpl.java:1043)
        at org.apache.felix.framework.Felix.updateBundle(Felix.java:1835)
        ... 6 more

Earlier versions of fileinstall used to use bundle.update(InputStream). Not 
sure why this has been changed in recent versions.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to