[jbosstools-issues] [JBoss JIRA] (JBIDE-24521) Errors publishing a large deployment to a remote server (EAP 7.1 management)

Rob Stryker (JIRA) issues at jboss.org
Tue May 30 16:50:00 EDT 2017


    [ https://issues.jboss.org/browse/JBIDE-24521?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13413989#comment-13413989 ] 

Rob Stryker commented on JBIDE-24521:
-------------------------------------

[~mmalina] As much as I agree you should test the limits, I don't think this is a reasonable usecase. If the complaint here is that I don't handle the error well enough, then let's be clear about that. 

If you want to test big deployments I'd rather see you test a webapp project with 100,000 files rather than one with 1 file that clearly is larger than the memory you allocate to eclipse at all. 

I'm marking this one as minor, because it is in all likelihood just an error-handling issue. At most I can clean up the error handling, but I can't prevent this usecase from failing, and I can't make it succeed, if the size of the file is larger than the available memory. 

> Errors publishing a large deployment to a remote server (EAP 7.1 management)
> ----------------------------------------------------------------------------
>
>                 Key: JBIDE-24521
>                 URL: https://issues.jboss.org/browse/JBIDE-24521
>             Project: Tools (JBoss Tools)
>          Issue Type: Bug
>          Components: server
>    Affects Versions: 4.5.0.AM1
>            Reporter: Martin Malina
>            Assignee: Rob Stryker
>             Fix For: 4.5.x
>
>
> I tried to verify EAP 7.1 incremental deployment (JBIDE-23784).
> So I first deployed a simple dynamic web project over management API to a remote EAP 7.1 (on a remote machine). Everything fine so far.
> Then I just copied a big jar (devstudio installer) into the WebContent dir of the project. Then I did a Refresh of the project in Eclipse and I immediately got an error:
> {code}
> Could not publish to the server.
> org.jboss.ide.eclipse.as.management.core.JBoss7ManangerException: java.util.concurrent.ExecutionException: Operation failed
> 	at org.jboss.ide.eclipse.as.internal.management.wf11.DeploymentOperationResult.getStatus(DeploymentOperationResult.java:68)
> 	at org.jboss.ide.eclipse.as.internal.management.wf11.WildFly11Manager.waitFor(WildFly11Manager.java:231)
> 	at org.jboss.ide.eclipse.as.internal.management.wf11.WildFly11Manager.incrementalPublish(WildFly11Manager.java:601)
> 	at org.jboss.ide.eclipse.as.internal.management.wf11.WildFly11ManagerService.incrementalPublish(WildFly11ManagerService.java:201)
> 	at org.jboss.ide.eclipse.as.management.core.JBoss7ManagerServiceProxy.incrementalPublish(JBoss7ManagerServiceProxy.java:134)
> 	at org.jboss.tools.as.core.server.controllable.subsystems.internal.ManagementPublishController$IncrementalManagementPublishRunner.incrementalPublish(ManagementPublishController.java:530)
> 	at org.jboss.tools.as.core.server.controllable.subsystems.internal.ManagementPublishController.incrementalPublish(ManagementPublishController.java:474)
> 	at org.jboss.tools.as.core.server.controllable.subsystems.internal.ManagementPublishController.publishModule(ManagementPublishController.java:257)
> 	at org.jboss.ide.eclipse.as.wtp.core.server.behavior.ControllableServerBehavior.publishModule(ControllableServerBehavior.java:143)
> 	at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publishModule(ServerBehaviourDelegate.java:1091)
> 	at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publishModules(ServerBehaviourDelegate.java:1183)
> 	at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publish(ServerBehaviourDelegate.java:987)
> 	at org.eclipse.wst.server.core.model.ServerBehaviourDelegate.publish(ServerBehaviourDelegate.java:774)
> 	at org.eclipse.wst.server.core.internal.Server.publishImpl(Server.java:3182)
> 	at org.eclipse.wst.server.core.internal.Server$PublishJob.run(Server.java:355)
> 	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
> Caused by: java.util.concurrent.ExecutionException: Operation failed
> 	at org.jboss.threads.AsyncFutureTask.operationFailed(AsyncFutureTask.java:74)
> 	at org.jboss.threads.AsyncFutureTask.get(AsyncFutureTask.java:281)
> 	at org.jboss.as.controller.client.impl.AbstractDelegatingAsyncFuture.get(AbstractDelegatingAsyncFuture.java:62)
> 	at org.jboss.as.controller.client.impl.ConvertingDelegatingAsyncFuture.get(ConvertingDelegatingAsyncFuture.java:69)
> 	at org.jboss.as.controller.client.impl.ConvertingDelegatingAsyncFuture.get(ConvertingDelegatingAsyncFuture.java:41)
> 	at org.jboss.as.controller.client.helpers.standalone.impl.ServerDeploymentPlanResultFuture.get(ServerDeploymentPlanResultFuture.java:94)
> 	at org.jboss.as.controller.client.helpers.standalone.impl.ServerDeploymentPlanResultFuture.get(ServerDeploymentPlanResultFuture.java:42)
> 	at org.jboss.ide.eclipse.as.internal.management.wf11.DeploymentOperationResult.getStatus(DeploymentOperationResult.java:65)
> 	... 15 more
> Caused by: java.lang.OutOfMemoryError: Java heap space
> 	at java.util.Arrays.copyOf(Arrays.java:3236)
> 	at java.io.ByteArrayOutputStream.grow(ByteArrayOutputStream.java:118)
> 	at java.io.ByteArrayOutputStream.ensureCapacity(ByteArrayOutputStream.java:93)
> 	at java.io.ByteArrayOutputStream.write(ByteArrayOutputStream.java:153)
> 	at org.jboss.as.protocol.StreamUtils.copyStream(StreamUtils.java:52)
> 	at org.jboss.as.controller.client.impl.InputStreamEntry$InMemoryEntry.initialize(InputStreamEntry.java:76)
> 	at org.jboss.as.controller.client.impl.AbstractModelControllerClient$ReadAttachmentInputStreamRequestHandler$1.execute(AbstractModelControllerClient.java:220)
> 	at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$1.doExecute(ManagementRequestContextImpl.java:70)
> 	at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$AsyncTaskRunner.run(ManagementRequestContextImpl.java:160)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> 	at java.lang.Thread.run(Thread.java:745)
> 	at org.jboss.threads.JBossThread.run(JBossThread.java:320)
> {code}
> The server adapter showed [Republish]. So I tried to do a full publish, but that kind of failed. It first showed 19 %, now it's been at 29 % for 5 minutes and nothing seems to be happening. The server adapter says [Started, Publishing...] and the module says [Republish]. And I can't even stop the server, it's stuck.
> I restarted the IDE. Killed the EAP server on the remote host. Started the server again in the IDE. It showed my module is started. The index worked, the jar was not found. So now I did a full publish on the module. I could see that something was being sent over the network. Then the traffic was over and it was at 33 % for a while and finally it finished successfully this time. So at least that. Then I could add another jsp and it redeployed the module without having to send over the big file again. So at least that worked now.



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the jbosstools-issues mailing list