[Design of POJO Server] - Re: Redeploying after an error JBAS-4900
by adrian@jboss.org
"adrian(a)jboss.org" wrote :
|
| | [ejort@warjort deployer]$ svn diff
| | Index: test/HeuristicAllOrNothingUnitTestCase.java
| | ===================================================================
| | --- test/HeuristicAllOrNothingUnitTestCase.java (revision 66174)
| | +++ test/HeuristicAllOrNothingUnitTestCase.java (working copy)
| | @@ -154,6 +154,9 @@
| | assertEquals(expectedNothing, deployer2.getDeployedUnits());
| | assertEquals(expectedNothing, deployer2.getUndeployedUnits());
| | assertEquals(DeploymentState.ERROR, main.getDeploymentState(deployment.getName()));
| | +
| | + main.removeDeployment(deployment);
| | + main.checkComplete();
| | }
| |
|
Well actually, that's missing a main.process(), but since main.process()
is currently wrongly doing nothing it doesn't effect the conclusion. ;-)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4098818#4098818
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4098818
18 years, 5 months
[Design of POJO Server] - Re: Redeploying after an error JBAS-4900
by adrian@jboss.org
The problem is caused by the DeploymentControllerContext not getting removed,
it is in the state of **ERROR**, but still available for the checkComplete() processing.
| 2007-10-25 15:15:58,218 DEBUG [org.jboss.deployers.plugins.main.MainDeployerImpl] Remove deployment context: vfsfile:/home/ejort/jboss-head/build/output/jboss-5.0.0.Be
| ta3/server/default/deploy/app-client.jar
| 2007-10-25 15:15:58,218 DEBUG [org.jboss.deployers.plugins.main.MainDeployerImpl] Not scheduling removal of context already in error: vfsfile:/home/ejort/jboss-head/bu
| ild/output/jboss-5.0.0.Beta3/server/default/deploy/app-client.jar
| 2007-10-25 15:15:58,218 DEBUG [org.jboss.deployers.plugins.main.MainDeployerImpl] Asked to process() when there is nothing to do.
|
The last two lines are not true. It needs to uninstall the failed contexts from the Microcontainer.
I can reproduce the problem by modifying the HeuristicAllOrNothing test,
to validate that a failed deployment doesn't produce an IncompleteDeploymentException
after it is undeployed
| [ejort@warjort deployer]$ svn diff
| Index: test/HeuristicAllOrNothingUnitTestCase.java
| ===================================================================
| --- test/HeuristicAllOrNothingUnitTestCase.java (revision 66174)
| +++ test/HeuristicAllOrNothingUnitTestCase.java (working copy)
| @@ -154,6 +154,9 @@
| assertEquals(expectedNothing, deployer2.getDeployedUnits());
| assertEquals(expectedNothing, deployer2.getUndeployedUnits());
| assertEquals(DeploymentState.ERROR, main.getDeploymentState(deployment.getName()));
| +
| + main.removeDeployment(deployment);
| + main.checkComplete();
| }
|
This test is currently failing.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4098817#4098817
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4098817
18 years, 5 months
[Design of POJO Server] - Re: Redeploying after an error JBAS-4900
by adrian@jboss.org
I'm seeing a related problem even if I deploy the inner app-client.jar
rather than the ear (so it isn't even related to sub-deployments).
When I undeploy the jar, it still reports it as incomplete.
| 14:45:00,943 WARN [HDScanner] Failed to process changes
| org.jboss.deployers.client.spi.IncompleteDeploymentException: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):
|
| *** CONTEXTS IN ERROR: Name -> Error
|
| vfsfile:/home/ejort/jboss-head/build/output/jboss-5.0.0.Beta3/server/default/deploy/app-client.jar -> java.lang.IllegalStateException: jms/anotherQueue in , but not in
|
|
| at org.jboss.deployers.plugins.deployers.DeployersImpl.checkComplete(DeployersImpl.java:620)
| at org.jboss.deployers.plugins.main.MainDeployerImpl.checkComplete(MainDeployerImpl.java:393)
| at org.jboss.system.server.profileservice.hotdeploy.HDScanner.scan(HDScanner.java:291)
| at org.jboss.system.server.profileservice.hotdeploy.HDScanner.run(HDScanner.java:221)
| at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
| at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:280)
| at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:135)
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:65)
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:142)
| at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:166)
| at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
| at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
| at java.lang.Thread.run(Thread.java:595)
|
So the test in the deployers testsuite isn't catching this situation, whatever it is.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4098804#4098804
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4098804
18 years, 5 months