Bug 779931 (SOA-2296) - Deploying a VDB when a previous version already is deployed should not produce a stack trace, but should offer the user assistance
Summary: Deploying a VDB when a previous version already is deployed should not produc...
Keywords:
Status: CLOSED NEXTRELEASE
Alias: SOA-2296
Product: JBoss Enterprise SOA Platform 5
Classification: JBoss
Component: EDS
Version: 5.1.0.ER1
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: 5.1.0.ER3
Assignee: Steven Hawkins
QA Contact:
URL: http://jira.jboss.org/jira/browse/SOA...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-09-08 21:33 UTC by Paul Nittel
Modified: 2010-11-01 15:38 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
All
Last Closed: 2010-11-01 15:38:29 UTC
Type: Bug


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker SOA-2296 0 None None None Never

Description Paul Nittel 2010-09-08 21:33:37 UTC
project_key: SOA

It's a pretty mainstream use case for a user to iteratively deploy, modify, and re-deploy VDBs. Presently, the redeployment of a VDB generates the stack trace shown below. If we do not want to blindly overwrite the previous version, can we instead notify the user and ask if they want to overwrite it and them help them do so.

To me, a user seeing a stack trace under this circumstance is unwarranted.

Error 2010-09-08 10:42:09.444 Problem deploying VDB: YooHoo.vdb to server: mm://localhost:31443
[AdminComponentException]java.io.SyncFailedException: Deployment content already exists: /home/pnittel/SOA51ER1/jboss-soa-p.5/jboss-as/server/default/deploy/YooHoo.vdb
1 [AdminComponentException]java.io.SyncFailedException: Deployment content already exists: /home/pnittel/SOA51ER1/jboss-soa-p.5/jboss-as/server/default/deploy/YooHoo.vdb
2 [AdminComponentException]java.io.SyncFailedException: Deployment content already exists: /home/pnittel/SOA51ER1/jboss-soa-p.5/jboss-as/server/default/deploy/YooHoo.vdb
3 [AdminProcessingException]java.io.SyncFailedException: Deployment content already exists: /home/pnittel/SOA51ER1/jboss-soa-p.5/jboss-as/server/default/deploy/YooHoo.vdb
4 [RuntimeException]java.io.SyncFailedException: Deployment content already exists: /home/pnittel/SOA51ER1/jboss-soa-p.5/jboss-as/server/default/deploy/YooHoo.vdb
5 [SyncFailedException]Deployment content already exists: /home/pnittel/SOA51ER1/jboss-soa-p.5/jboss-as/server/default/deploy/YooHoo.vdb
        at org.teiid.client.util.ExceptionUtil.convertException(ExceptionUtil.java:72)
        at org.teiid.net.socket.SocketServerConnection$ServerConnectionInvocationHandler.invoke(SocketServerConnection.java:239)
        at $Proxy2.deployVDB(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.teiid.adminapi.AdminFactory$ReconnectingProxy.invoke(AdminFactory.java:102)
        at $Proxy2.deployVDB(Unknown Source)
        at org.teiid.designer.runtime.ExecutionAdmin.deployVdb(ExecutionAdmin.java:121)
        at org.teiid.designer.runtime.ui.DeployVdbAction.deployVdb(DeployVdbAction.java:132)
        at org.teiid.designer.runtime.ui.DeployVdbAction.run(DeployVdbAction.java:81)
        at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
        at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
        at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
        at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1176)
        at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3493)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3112)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
        at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
        at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:368)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
Caused by: [AdminComponentException]java.io.SyncFailedException: Deployment content already exists: /home/pnittel/SOA51ER1/jboss-soa-p.5/jboss-as/server/default/deploy/YooHoo.vdb
1 [AdminComponentException]java.io.SyncFailedException: Deployment content already exists: /home/pnittel/SOA51ER1/jboss-soa-p.5/jboss-as/server/default/deploy/YooHoo.vdb
2 [AdminProcessingException]java.io.SyncFailedException: Deployment content already exists: /home/pnittel/SOA51ER1/jboss-soa-p.5/jboss-as/server/default/deploy/YooHoo.vdb
3 [RuntimeException]java.io.SyncFailedException: Deployment content already exists: /home/pnittel/SOA51ER1/jboss-soa-p.5/jboss-as/server/default/deploy/YooHoo.vdb
4 [SyncFailedException]Deployment content already exists: /home/pnittel/SOA51ER1/jboss-soa-p.5/jboss-as/server/default/deploy/YooHoo.vdb
        at org.teiid.client.util.ExceptionUtil.convertException(ExceptionUtil.java:72)
        at org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler.invoke(SocketServerInstanceImpl.java:363)
        at $Proxy2.deployVDB(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.teiid.net.socket.SocketServerConnection$ServerConnectionInvocationHandler.invoke(SocketServerConnection.java:227)
        ... 38 more
Caused by: [AdminComponentException]java.io.SyncFailedException: Deployment content already exists: /home/pnittel/SOA51ER1/jboss-soa-p.5/jboss-as/server/default/deploy/YooHoo.vdb
1 [AdminProcessingException]java.io.SyncFailedException: Deployment content already exists: /home/pnittel/SOA51ER1/jboss-soa-p.5/jboss-as/server/default/deploy/YooHoo.vdb
2 [RuntimeException]java.io.SyncFailedException: Deployment content already exists: /home/pnittel/SOA51ER1/jboss-soa-p.5/jboss-as/server/default/deploy/YooHoo.vdb
3 [SyncFailedException]Deployment content already exists: /home/pnittel/SOA51ER1/jboss-soa-p.5/jboss-as/server/default/deploy/YooHoo.vdb
        at org.teiid.client.util.ExceptionUtil.convertException(ExceptionUtil.java:72)
        at org.teiid.jboss.deployers.RuntimeEngineDeployer$1.invoke(RuntimeEngineDeployer.java:253)
        at $Proxy357.deployVDB(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.teiid.transport.ServerWorkItem.run(ServerWorkItem.java:81)
        at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:189)
        at org.teiid.transport.SocketClientInstance.processMessagePacket(SocketClientInstance.java:160)
        at org.teiid.transport.SocketClientInstance.receivedMessage(SocketClientInstance.java:149)
        at org.teiid.transport.SSLAwareChannelHandler.messageReceived(SSLAwareChannelHandler.java:210)
        at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:100)
        at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
        at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)
        at org.jboss.netty.handler.stream.ChunkedWriteHandler.handleUpstream(ChunkedWriteHandler.java:144)
        at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
        at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)
        at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
        at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:317)
        at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:299)
        at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:214)
        at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)
        at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
        at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:540)
        at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
        at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
        at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:340)
        at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:272)
        at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:192)
        at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
        at org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)
Caused by: [AdminProcessingException]java.io.SyncFailedException: Deployment content already exists: /home/pnittel/SOA51ER1/jboss-soa-p.5/jboss-as/server/default/deploy/YooHoo.vdb
1 [RuntimeException]java.io.SyncFailedException: Deployment content already exists: /home/pnittel/SOA51ER1/jboss-soa-p.5/jboss-as/server/default/deploy/YooHoo.vdb
2 [SyncFailedException]Deployment content already exists: /home/pnittel/SOA51ER1/jboss-soa-p.5/jboss-as/server/default/deploy/YooHoo.vdb
        at org.teiid.adminapi.jboss.ManagedUtil.execute(ManagedUtil.java:295)
        at org.teiid.adminapi.jboss.ManagedUtil.deployArchive(ManagedUtil.java:235)
        at org.teiid.adminapi.jboss.ManagedUtil.deployArchive(ManagedUtil.java:222)
        at org.teiid.adminapi.jboss.Admin.deployVDB(Admin.java:186)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.teiid.logging.LogManager$LoggingProxy.invoke(LogManager.java:121)
        at org.teiid.jboss.deployers.RuntimeEngineDeployer$1.invoke(RuntimeEngineDeployer.java:247)
        ... 33 more
Caused by: java.lang.RuntimeException: java.io.SyncFailedException: Deployment content already exists: /home/pnittel/SOA51ER1/jboss-soa-p.5/jboss-as/server/default/deploy/YooHoo.vdb
        at org.jboss.profileservice.management.client.upload.StreamingDeploymentTarget.transferDeployment(StreamingDeploymentTarget.java:286)
        at org.jboss.profileservice.management.client.upload.StreamingDeploymentTarget.distribute(StreamingDeploymentTarget.java:106)
        at org.jboss.profileservice.management.client.upload.DeploymentProgressImpl.distribute(DeploymentProgressImpl.java:178)
        at org.jboss.profileservice.management.client.upload.DeploymentProgressImpl.run(DeploymentProgressImpl.java:83)
        at org.teiid.adminapi.jboss.ManagedUtil.execute(ManagedUtil.java:290)
        ... 42 more
Caused by: java.io.SyncFailedException: Deployment content already exists: /home/pnittel/SOA51ER1/jboss-soa-p.5/jboss-as/server/default/deploy/YooHoo.vdb
        at org.jboss.system.server.profileservice.repository.BasicDeploymentRepository.addDeploymentContent(BasicDeploymentRepository.java:177)
        at org.jboss.profileservice.management.upload.remoting.AbstractDeployHandler.handleStream(AbstractDeployHandler.java:288)
        at org.jboss.profileservice.management.upload.remoting.AbstractDeployHandler.handleStream(AbstractDeployHandler.java:63)
        at org.jboss.remoting.ServerInvoker.handleInternalInvocation(ServerInvoker.java:1841)
        at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:917)
        at org.jboss.remoting.transport.local.LocalClientInvoker.invoke(LocalClientInvoker.java:106)
        at org.jboss.remoting.Client.invoke(Client.java:2034)
        at org.jboss.remoting.Client.invoke(Client.java:877)
        at org.jboss.remoting.Client.invoke(Client.java:1756)
        at org.jboss.profileservice.management.client.upload.StreamingDeploymentTarget.transferDeployment(StreamingDeploymentTarget.java:277)
        ... 46 more

Comment 1 Barry LaFond 2010-09-09 14:22:13 UTC
I've got a As 5.1 GA installed, Teiid 7.1 and Designer 7.1 running and my Re-Deploy works for me.

Ran simple Parts example, deployed VDB, queried. Changed SQL on transformation. Saved, synced VDB, re-deployed, requeried.

I don't have entitlements on. Plain vanilla server.

Comment 2 Paul Nittel 2010-09-09 15:41:08 UTC
It appears to be in some way related to the deployment of Teiid in SOA-P. I tried this in JBoss AS with 7.1.x Teiid from today's build (9/9/2010) and it deployed the second VDB without any exceptions in either the server or  Designer.

Comment 3 Paul Nittel 2010-09-10 13:34:56 UTC
Security: Added: Public


Comment 4 Steven Hawkins 2010-09-14 20:36:23 UTC
resolved as part of TEIID-1256.  Since Teiid will appropriately clean up in the event of an overwritten VDB there's no need for a restriction.

Comment 5 Steven Hawkins 2010-10-04 14:30:33 UTC
Should already be resolved for ER2 due to TEIID-1256

Comment 6 Paul Nittel 2010-11-01 15:38:29 UTC
Tested with ER3 and closed.


Note You need to log in before you can comment on or make changes to this bug.