web-monitoring-db
web-monitoring-db copied to clipboard
An import that fails between creating a page and creating a version leaves an empty page record
If an import results in the creation of a new page record, but fails when creating the actual version of that page (because of invalid data), the empty page record gets left lying around afterward. While we think it’s OK for the DB to have pages with no versions, it’s not really desirable, and we shouldn’t wind up in that situation accidentally like this.
The import versions job needs to be careful to roll back the creation of a page if the version failed.
I can think of a couple straightforward ways of doing this:
- Wrap the page + version creation together in a single transaction. Not sure on the overhead of this.
- Keep a list of pages that were created by the job and, when cleaning up at the end, remove any that have no versions.
We also need a test for this.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in seven days if no further activity occurs. If it should not be closed, please comment! Thank you for your contributions.
~This is actually a reasonably serious issue we need to fix.~
Update: this issue is not so serious now that @bensheldon fixed edgi-govdata-archiving/web-monitoring-ui#363.