list-simulations shows queued simulation as "finished"

Create issue
Issue #1342 new
Ian Hinder created an issue

If there is a presubmitted restart of a simulation, and the previous restart finishes, the previous restart remains marked as "active" by the -active symlink, and list-simulations shows this previous restart. It looks at the job id, and concludes that the simulation is "finished" rather than "queued", even though the next restart is in the queue. Maybe it should check the subsequent restarts to see if any of them are still queued?


Comments (3)

  1. Erik Schnetter
    • removed comment

    Technically, this is correct. "finished" implies that the restarted finished, but has not yet been cleaned up, and this is indeed the case since it will only be cleaned up when the next restart runs. One could do two things:

    (1) When examining the simulation, implicitly run the "cleanup" stage (with proper locking, not yet implemented) (2) Invent a new modifier, such as "finished (presubmitted)", indicating that the job will continue.

    Thinking about this, something like "(presubmitted)" should probably be present anyway.

    Since cleaning up a simulation may perform some relevant or necessary tasks, I would not want to call this simulation simply "inactive".

  2. Ian Hinder reporter
    • removed comment

    As a user, I care more about the fact that there is another job in the queue waiting to start for this simulation than the fact that the last restart has not been cleaned up. If there is no job in the queue, I have to "submit" again. If there is, then I don't have to do anything. There is no way to see this from the output of list-simulations. The output of list-simulations should tell you about the simulation as a whole, not the implementation details (restarts). Ideally, this implementation detail would be hidden completely from the user. It can be useful to also mention details related to restarts, but logically it should be giving information about the simulation as a whole.

    Modifying the simulation when you run a list command sounds like a bad idea.

    In the language of the user, a simulation which has "finished" is one which will not be run any more. I think the simulation should be called "Queued" or "Finished" depending on whether there are restarts in the queue or not. Maybe also add "Running" for a simulation with a currently-running job.

  3. Erik Schnetter
    • removed comment

    We can change the names, but the state of a simulation is either "active" or "inactive", and if it is active, it is either "queued", "running", or "finished".

    "Cleanup" is a safe operation. It can be applied at all times, and does nothing if it can't be applied. If you look at a simulation that has not been cleaned up, then you are not guaranteed that the files are accessible -- this is also a bad idea. The only problem with cleanup is that the queuing system doesn't offer a hook where it is guaranteed to run, thus Simfactory has to run it manually after the fact.

    We should probably replace the "finished" by "presubmitted".

  4. Log in to comment