-
Notifications
You must be signed in to change notification settings - Fork 91
Deleting Applications doesn't seem to work #103
Comments
This seems to be a bug, we will try to reproduce it. Likely the app delete is broken. |
I created 3 local runtimes, deployed a simple calvinscript with 3 actors, migrated manually the 3 actors to one of the other runtimes. Then followed your screenshot. My result is that the actors were deleted.
So it must be some difference in what you did before what is shown in the image. Could you share more details on which calvinscript, what migrations, etc that you did? By the way, even if only one of the runtimes provide the application id (due to that the control interface only looks locally instead of in the registry), you should be able to delete the application from any of the nodes. |
Hmm I actually did almost the same thing. The only difference is that instead of starting up the application and then migrating it manually, I used
and app.calvin
I started up the runtimes as in the example using
Which is the only thing that is not on the screenshot.. |
Unrelated to the issue you have with buggy application clean-up, I'd just like to point out that the example code dealing with explicit .deployjson files dates to before we had a way of expressing deployment requirements in CalvinScript. In your case above, you could instead add something along the following lines to the .calvin file (untested):
Have a look at the files in calvin/tests/codegen, in particular test_deploy3.calvin and test_deploy3.deployjson. While it does not solve your problem, it does make your life easier if you are going to play around with deployment requirements. |
Oh wow thank you for the hint this is actually really helpful! |
I recently tried the example from the deployment section in the wiki. I was then wondering if it is possible to rollback the application without shutting down the runtimes (which would be nice since the DHT wouldn't have to be rebuilt) and stumbled upon the cscontrol applications delete command. I tried it a few times but it seems that, when deleting an application, it doesn't actually stop the application in the runtime, as the actor still continue to exist within the different runtimes, as seen when running cscontrol actor list. I don't know if this is intended but if it is, I don't see how deleting an application is helpful..
Here a picture to demonstrate this. The application runs on three different nodes and was invoked from port 5001. If I use cscontrol applications list I thus only get an application ID if called from port 5001. If I delete that application the actors on other nodes still continue to run and the application therefor effectively still runs (the counter still gets printed to the stdout of the port holding the Print actor).
The text was updated successfully, but these errors were encountered: