Bug 350805 - When refreshing a resolved host bundle it doesn't recognize new fragment bundles
Summary: When refreshing a resolved host bundle it doesn't recognize new fragment bundles
Status: NEW
Alias: None
Product: Virgo
Classification: RT
Component: runtime (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 7
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-30 07:57 EDT by Frieder Heugel CLA
Modified: 2014-11-26 04:20 EST (History)
3 users (show)

See Also:


Attachments
Example bundles (1.29 KB, application/x-zip-compressed)
2011-06-30 07:58 EDT, Frieder Heugel CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Frieder Heugel CLA 2011-06-30 07:57:15 EDT
Build Identifier: 3.0.0.M5

Once a host bundle has been resolved it does not recognize new fragment bundles even when the host bundle has been refreshed via the Server/Equinox console.

According to Glyn there is only a transformation stage available in the refresh pipeline. 

http://virgo-opengrok.springsource.org/xref/virgo/org.eclipse.virgo.kernel/org.eclipse.virgo.kernel.deployer/src/main/java/org/eclipse/virgo/kernel/deployer/core/internal/Plumber.java

Reproducible: Always

Steps to Reproduce:
1. Drop fragment1 into repository/usr/
2. Start Virgo
3. Drop the host bundle into pickup/
4. Go to the server console and check the header of the host bundle, it should now have a single package import (javax.servlet).
5. Drop fragment1b into repository/usr/ and wait the defined interval time
6. Now refresh the host bundle via the Server/Equinox console (vsh bundle refresh <ID> | refresh <ID>)
7. Check the header of the host bundle again, the second package import is still missing.

The only chance to get the host bundle to recognize the second fragment is to undeploy and deploy the host bundle. A redeploy in the Eclipse IDE does not work as well.
Comment 1 Frieder Heugel CLA 2011-06-30 07:58:00 EDT
Created attachment 198900 [details]
Example bundles
Comment 2 Borislav Kapukaranov CLA 2011-07-07 12:28:20 EDT
I think that's working by design.
Dependencies are dragged from the repository on deploytime only (bundle refresh has nothing to do with deployment nor does waiting for the repository refresh).
This is why once you deploy the host bundle it won't drag new fragments over from the repository.

If you try to perform a simple OSGi install on the second fragment: "install <path_to_fragment>" and then refresh your host it'll be fine.
Or you could also redeploy the host as you tried.

I'm not sure if that is really a bug or an enhancement...
Comment 3 Nobody - feel free to take it CLA 2011-07-11 04:36:35 EDT
This is working as designed, so flagging as an enhancement.