[ET Trac] [Einstein Toolkit] #860: Don't rmtree(scratchdir)
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Thu May 3 12:25:23 CDT 2012
#860: Don't rmtree(scratchdir)
---------------------------+------------------------------------------------
Reporter: barry.wardell | Owner: eschnett
Type: defect | Status: new
Priority: blocker | Milestone:
Component: SimFactory | Version:
Keywords: |
---------------------------+------------------------------------------------
The mdb in SimFactory has an entry for scratchdir. If scratchdir is a
relative path, it is assumed to be relative to the restart output
directory. It's not clear exactly what the purpose of this is, but
SimFactory does the following things with it:
1. Create the directory at the start of a simulation if it doesn't exist.
2. Delete the entire directory using rmtree(scratchdir) during "cleanup".
This happens, for example, when an existing simulation is restarted.
The second of these seems very dangerous to me and I think it should be
removed. In particular, if you happen to have scratchdir set to be the
same for more than one simulation (by setting it to, e.g., /scratch), this
scrachdir for all simulations will be erased as soon as one simulation
does a cleanup.
I recently had an even worse experience where I was using /scratch as my
basedir and /scratch also happened to be set as the scratchdir in the mdb
for that machine. All of my simulations on that machine had only a single
restart, so all was well until I tried to restart one simulation and
instead of doing so SimFactory erased all of my simulations on the
machine.
While I can admit to user error in this case (I also wrote the machine
entry), I think the goal of SimFactory should be to err on the side of
caution and shouldn't do this blind rmtree of whatever scratchdir is set
to.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/860>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list