-
Notifications
You must be signed in to change notification settings - Fork 212
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
XML Caching needs to be more robust #2850
Comments
Doesn't computing the sha1 take time and slow performance? |
@gold2718 , it should be much faster than a full XML tree parse. |
I'm curious: Are there current issues with the caching that prompted you to open this issue, or is this just a future precaution? |
Okay, just skimmed Slack and see the question is answered there. |
Big improvement to robustness of CIME's XML handling Change list: Propagate Case read_only to its XML objects Cache all files, but use file mod-time to detect changes. Try to pass Case, not caseroot, to run_sub_or_cmd Add a CIME performance test Add tests for CIME XML handling Test suite: scripts_regression_tests Test baseline: Test namelist changes: Test status: bit for bit Fixes #2161 Fixes #2850 User interface changes?: GenericXML will now throw an error if XML files are changed behind its back without a re-read/invalidate. It is now expected that all python buildlib calls take a Case object, not caseroot. Instructions for updating python buildlib scripts: The main function should open a Case object (preferably, read-only) and pass that object to the buildlib function, not the caseroot. The buildlib function should take a case object, not a caseroot, and should therefore not have to open a Case object. Update gh-pages html (Y/N)?: Code review: @jedwards4b @billsacks
User should never have to disable caching. Propose adding sha1 to FILEMAP to check that file was not changed. Maybe need addition class-level data in GenericXML to ensure that we never have multiple writable GenericXML objects open to the same file at the same time.
The text was updated successfully, but these errors were encountered: