Skip to content
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

Acceptance criteria - Kingfisher Process #30

Open
hrubyjan opened this issue May 4, 2021 · 6 comments
Open

Acceptance criteria - Kingfisher Process #30

hrubyjan opened this issue May 4, 2021 · 6 comments
Labels
component: orchestration operations Actions to be performed by administrators in the normal operation of the system
Milestone

Comments

@hrubyjan
Copy link

hrubyjan commented May 4, 2021

At the end of each phase of data processing we should evaluate whether it ended well, there is something suspicious or this particular phase failed.
For process phase define criteria that will
a) prevent a dataset from being published in data registry

  • we shouldn't be too defensive and try to detect obvious problems

b) raise a warning but will not prevent dataset from being published

  • this should serve to notify admin that there is some issue worth inspecting

We should not insist on having some criteria if we will not see some meaningful rules

@jpmckinney
Copy link
Member

On the call, I think we said unexpected exceptions (e.g. from OCDS Kit during upgrade or OCDS Merge during compile) would be considered errors (though I don't know if these caused a "failed" or "warn" state per #32).

@jpmckinney jpmckinney changed the title Acceptance criteria - process Acceptance criteria - Kingfisher Process Aug 28, 2021
@jpmckinney
Copy link
Member

@jakubkrafka Other than Sentry (which is disabled), where can I find/query a log of warnings and errors?

@jpmckinney
Copy link
Member

Assigning for question above.

@jakubkrafka
Copy link
Contributor

Each docker container (besides of scrapyd logs for particular jobs - scrapy in general lacks this capability) logs into the stdout/console - thus they are captured by the docker itself. All the logs can be inspected via

docker logs <container_name>

@jpmckinney
Copy link
Member

Needs to be open for the original issue :)

@jpmckinney
Copy link
Member

Kingfisher Process stores messages in collection_note with warning and error levels. We can:

Errors are:

These errors aren't individually severe enough to prevent publication, but maybe there's a % threshold.

Warnings are:

  • record_compiler
    • "OCID {ocid} has {undated} undated releases. The {len(dated)} dated releases have been compiled."
    • "Its compiledRelease was used."
    • "Its only release tagged 'compiled' was used."
  • record_compiler and release_compiler
    • ExtensionWarning from ocdsextensionregistry

These warnings are indeed fine. By getting notified, we can update quality descriptions.

If emails get noisy, we can maybe think about logic for silencing some alerts (e.g. silence unless threshold increases), similar to how Sentry does it. (This would be for a new issue.)

Related: open-contracting/kingfisher-process#222

@jpmckinney jpmckinney added the operations Actions to be performed by administrators in the normal operation of the system label Apr 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: orchestration operations Actions to be performed by administrators in the normal operation of the system
Projects
None yet
Development

No branches or pull requests

3 participants