Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
Description
When an application fails to deploy, we don't really know how much work we've done in the assembler.creatApplication phase, so as a result we try and undo everything. That of course results in a lot of exceptions saying that we couldn't cleanly undeploy the application.
We could do something simple and put an object on the thread in the createApplication method that records the steps we've taken; maybe stuff it full of enum values – or even better, just remember the last enum value as there is an order to them and we could assume all previous steps were done. Then in destroyApplication we can check for it and use it to only know how far to go in our destroy logic.