Bundle refresh in virgo 3.0.2 [message #772255] |
Thu, 29 December 2011 06:06  |
Eclipse Guest Messages: 93 Registered: February 2013 Location: Vienna |
Member |
|
|
Hi all
When I try to refresh bundle(*.war) through osgi console it fails with next message
[2011-12-29 09:33:03.511] Thread-40322 <DE0007I> Refreshing bundle 'my-bundle' version '3.2.0'.
[2011-12-29 09:33:27.497] Thread-40322 <DE0070W> Cannot refresh bundle 'my-bundle' version '3.2.0' as the identity would change. The new identity would have been 'my-bundle-3.2.0' version '0.0.0'.
Difference between to manifests is only in "Bnd-LastModified" field
After googling I found that similar exception was in virgo 2.1.0
https://bugs.eclipse.org/bugs/show_bug.cgi?id=327209
but seems it had been fixed
Does anyone know what i'm doing wrong, cause it takes half a life for restarting a server each time 
Best regards, Alexander
|
|
|
|
Re: Bundle refresh in virgo 3.0.2 [message #814550 is a reply to message #772372] |
Tue, 06 March 2012 10:36   |
Eclipse User |
|
|
|
Hi all,
I don't know if bumping this thread is better than creating a new one, but I am currently facing a similar bundle identity problem with WABs on Windows 7 (7 only ?) environments, they are unable to be refreshed, both on Virgo 3.0.1.RELEASE and 3.0.2.RELEASE
On my Linux box I have been able successfully for months to refresh WABs, both from the OSGi console (using the Equinox vsh extension) and using the admin web tool (and on a Mac too), however in all the Windows PCs I have tried it on it always fails.
To reproduce this problem, on a Windows 7 environment start a vanilla Virgo (tried 3.0.1 and 3.0.2), then try to refresh the admin.web bundle.
Here are the logs:
eventlog:
[2012-03-06 16:49:12.053] qtp31925646-97 <DE0007I> Refreshing bundle 'org.eclipse.virgo.apps.admin.web' version '3.0.2.RELEASE'.
[2012-03-06 16:49:21.631] qtp31925646-97 <DE0070W> Cannot refresh bundle 'org.eclipse.virgo.apps.admin.web' version '3.0.2.RELEASE' as the identity would change. The new identity would have been 'org.eclipse.virgo.apps.admin.web-3.0.2.RELEASE' version '0.0.0'.
[2012-03-06 16:49:25.663] qtp31925646-97 <ME0002W> Dump contributor 'heap' failed during contribution to dump '1331045362803' org.eclipse.virgo.medic.dump.DumpContributionFailedException: Failed to generate heap dump contribution
at org.eclipse.virgo.medic.dump.impl.heap.HeapDumpContributor.contribute(HeapDumpContributor.java:64)
...
log:
[2012-03-06 16:49:12.053] INFO qtp31925646-97 org.eclipse.virgo.medic.eventlog.default DE0007I Refreshing bundle 'org.eclipse.virgo.apps.admin.web' version '3.0.2.RELEASE'.
[2012-03-06 16:49:21.647] WARN qtp31925646-97 org.eclipse.virgo.medic.eventlog.default DE0070W Cannot refresh bundle 'org.eclipse.virgo.apps.admin.web' version '3.0.2.RELEASE' as the identity would change. The new identity would have been 'org.eclipse.virgo.apps.admin.web-3.0.2.RELEASE' version '0.0.0'.
[2012-03-06 16:49:25.913] WARN qtp31925646-97 org.eclipse.virgo.medic.eventlog.default ME0002W Dump contributor 'heap' failed during contribution to dump '1331045362803' org.eclipse.virgo.medic.dump.DumpContributionFailedException: Failed to generate heap dump contribution
at org.eclipse.virgo.medic.dump.impl.heap.HeapDumpContributor.contribute(HeapDumpContributor.java:64)
at org.eclipse.virgo.medic.dump.impl.StandardDumpGenerator.generateDump(StandardDumpGenerator.java:67)
at org.eclipse.virgo.medic.dump.impl.StandardDumpGenerator.generateDump(StandardDumpGenerator.java:54)
...
[2012-03-06 16:49:27.819] WARN qtp31925646-97 o.e.virgo.kernel.shell.model.helper.StandardRamAccessorHelper Unexpected error while trying to read the Runtime Artifact Model MBeans. type: 'bundle' name: 'org.eclipse.virgo.apps.admin.web' version: '3.0.2.RELEASE'
...
I doubt if the virtual machine type/version would relate to this problem, however for the sake of providing as much information as possible, here are the both machines' info as appearing in the information section at the admin web tool:
Linux (Working): Sun Microsystems Inc.(Java HotSpot(TM) Server VM) - 17.1-b03, Sun Microsystems Inc. - 1.6.0_22, Linux(i386) - 2.6.35-24-generic-pae
Windows (Unworking): Sun Microsystems Inc.(Java HotSpot(TM) Client VM) - 14.3-b01, Sun Microsystems Inc. - 1.6.0_17, Windows 7(x86) - 6.1
|
|
|
|
|
|
|
|
|
|
Re: Bundle refresh in virgo 3.0.2 [message #857156 is a reply to message #816071] |
Thu, 26 April 2012 05:37   |
Eclipse User |
|
|
|
I stumbled upon the same bundle refresh problem.
[2012-04-26 10:27:25.414] fs-watcher <DE0007I> Refreshing bundle 'Client' version '1.0.0'.
[2012-04-26 10:27:29.158] fs-watcher <DE0070W> Cannot refresh bundle 'Client' version '1.0.0' as the identity would change. The new identity would have been 'Client' version '0.0.0'.
[2012-04-26 10:27:30.776] fs-watcher <ME0003I> Dump 'serviceability\dump\2012-04-26-10-27-518' generated
[2012-04-26 10:27:31.888] fs-watcher <ME0003I> Dump 'serviceability\dump\2012-04-26-10-27-784' generated
[2012-04-26 10:27:31.896] fs-watcher <HD0003E> Hot re-deploy failed for file 'Client.war'. org.eclipse.virgo.util.io.FatalIOException: Cannot move path '...\Virgo3\work\org.eclipse.virgo.kernel.deployer_3.0.1.RELEASE\staging\global\bundle\Client\1.0.0\Client.war-past' to '...\Virgo3\work\org.eclipse.virgo.kernel.deploy
er_3.0.1.RELEASE\staging\global\bundle\Client\1.0.0\Client.war'. Destination path already exists.
at org.eclipse.virgo.util.io.PathReference.moveTo(PathReference.java:304)
at org.eclipse.virgo.kernel.install.artifact.internal.StandardArtifactStorage.unstashContent(StandardArtifactStorage.java:120)
at org.eclipse.virgo.kernel.install.artifact.internal.StandardArtifactStorage.rollBack(StandardArtifactStorage.java:72)
at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.failRefresh(AbstractInstallArtifact.java:446)
at org.eclipse.virgo.kernel.install.artifact.internal.AbstractInstallArtifact.refresh(AbstractInstallArtifact.java:434)
at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApplicationDeployer.updateAndRefresh(PipelinedApplicationDeployer.java:226)
at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApplicationDeployer.updateAndRefreshExistingArtifact(PipelinedApplicationDeployer.java:182)
at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApplicationDeployer.doInstall(PipelinedApplicationDeployer.java:147)
at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApplicationDeployer.install(PipelinedApplicationDeployer.java:136)
at org.eclipse.virgo.kernel.deployer.core.internal.PipelinedApplicationDeployer.deploy(PipelinedApplicationDeployer.java:203)
at org.eclipse.virgo.kernel.deployer.hot.HotDeploymentFileSystemListener.deploy(HotDeploymentFileSystemListener.java:174)
at org.eclipse.virgo.kernel.deployer.hot.HotDeploymentFileSystemListener.onChange(HotDeploymentFileSystemListener.java:81)
at org.eclipse.virgo.util.io.FileSystemChecker.notifyListeners(FileSystemChecker.java:245)
at org.eclipse.virgo.util.io.FileSystemChecker.check(FileSystemChecker.java:166)
at org.eclipse.virgo.kernel.deployer.hot.WatchTask.run(WatchTask.java:58)
at java.lang.Thread.run(Thread.java:662)
The curious thing was, that some bundles could be refreshed, others dont. so i studies this problem a bit and found out, that, if for example the "Client" bundle above contains jars in the WEB-INF/lib-folder, a redeploy (= copy it to the pickup folder) would fail and the client needs to be deleted first and then deployed again.
but if there are no jars in the WEB-INF/lib folder, the normal redeploy works...
So as a workaround, it seems to work, if the libraries are in a non-standard directory, e.g. WEB-INF/libs (with all the needed entries in the Bundle-ClassPath). Then a redeploy works and the error disapears... (sadly, this is not easily doable in maven)
is this some kind of accidential locking due to implicit loading of all libs in the WEB-INF/lib directory, or did i do something wrong?
[Updated on: Thu, 26 April 2012 05:40] by Moderator
|
|
|
|
Re: Bundle refresh in virgo 3.0.2 [message #869523 is a reply to message #858822] |
Thu, 03 May 2012 10:33  |
Eclipse User |
|
|
|
sadly, i am using Virgo-Tomcat!
also i thought, i already tried it on the new virgo 3.5 milestone, but i am not sure about that. i will test it again when i have time.
It looks like if the libraries are in another path, they will be loaded on accessing the bundle somehow. after loading, they seem to be locked and the same thing happens as when they are in the WEB-INF/lib path...
|
|
|
Powered by
FUDForum. Page generated in 0.04003 seconds