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.