-
Notifications
You must be signed in to change notification settings - Fork 1
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
Catalog polling to infer & exclude broken datastores #308
Comments
In the event that we get a user attempting to open a 'broken' datastore, should we wrap the returning error somehow to point out that it's not really the fault of the catalog? E.g., |
Yeah, that sounds very sensible. I think if it does fail, we should be able to separately read the
|
Having taken the chance to have a more detailed read of this proposal (which I agree is very much needed), I have a few more comments/suggestions:
|
I agree. Potentially a good way of handling this would be to ping the tracking services server with a notification that something has failed, which we can then get to send us an email or open an issue on this repo notifying of the failure.
Can we run a persistent session with a cron job inside it? |
Is your feature request related to a problem? Please describe.
This package indexes & includes a number of datastores in the catalog via way of Translators - eg. those in #211 #199, etc, etc.
These datastores are typically owned by other users/groups on Gadi, and so are liable to break if their owners make alterations to the relevant catalog files (examples of where these are likely to be located can be found in the
config
section of this package).Although these breakages are not strictly speaking a breakage of the ACCESS-NRI Intake Catalog, they will appear to users as such, as attempting to open a broken datastore will trigger an error. To handle this, we should implement some sort of procedure to ensure that all datastores included in the live catalog are functioning.
Describe the feature you'd like
There should be some functionality that allows us to continually poll the catalog at regular intervals (eg. midnight every night) to ensure that all datastores are correctly functioning.
The tests introduced by #290 (
tests/e2e/test_datasets_representative
) attempt to build all datastores from translators, forcing the assumption that the datastores can still be opened & translated using the same translators that were valid when the datastores were added into the catalog. This, in essence, forms a regression test for the datastore validity, and the functionality therein could be adapted & extended to ensure datastore integrity.Additional considerations:
cmip6.yaml
:If, for example, the
cmip6-fs38
datastore were broken, care would need to be taken to ensure that thecmip6-oi10
datastore was not also excluded (in this instance erroneously).Additional context
The text was updated successfully, but these errors were encountered: