-
Notifications
You must be signed in to change notification settings - Fork 192
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Verdi export create fails when encountering sealed nodes #3600
Comments
If a node is not sealed, that means that it corresponds to a process that is still active. Exporting it is dangerous because the resulting archive will have an inconsistent provenance graph. This is why we forbid them from being exported and it is not likely that we will change this. If your goal is to create a backup of your AiiDA installation, there are better ways to do this. Please refer to the documentation on backups that should explain in detail how to create efficient backups and how to restore them. Let me know if you run into trouble there of have any questions. |
Hey Seb, I wrote this with @jinchang last night. It is indeed for backup/replication purposes but it would be great to be able to do an export so that we're not forced to take the whole DB at once. For example, I do some development where I import this snapshot of our 'master' database into my existing one keeping everything else that's already in there. Not to mention that an export is significantly less laborious than a backup. So what I would love to see here is for unsealed nodes and descendents to simply be excluded. What do you think? Happy to look into making the code changes if we decide to go this way. |
I see now, apologies for the misunderstanding. An option to omit unsealed from the export instead of just printing a warning is significantly different and that is something that we could look into.
Since v1.0.0 we have put very strict rules on what sub-graphs are allowed to exported. The contents of an archive should represent "consistent" graphs. What that means is explained in detail in the documentation. For example, it is forbidden to export a calculation node without its inputs, because whoever would import that archive would have a calculation node with broken provenance. All this to say that adding an option to skip unsealed nodes maybe possible, but under these constraints. |
Yup, I thought this would be the case. So, I'll have a look and report back when I see you next week. In essence my 'ignore unsealed calculations and any descendents' policy shouldn't violate the consistent graphs rule. |
We ran an export to create a backup of our database (using the
--input-calc-forward
flag from our starting data nodes). There are, however, still running processes which have corresponding unsealed nodes and we, therefore, get this exception (traceback below):whilst it's good that these nodes are not exported it does mean that the backup fails and we're unable to make a backup in the current state.
Would it be possible to have AiiDA just warn about these nodes and continue with the export?
Traceback:
The text was updated successfully, but these errors were encountered: