Closed ronaldtse closed 2 years ago
@ronaldtse in this case something went wrong on the server-side when an abstract was fetched from the https://www.itu.int/dms_pubrec/itu-t/rec/g/T-REC-G.655-200911-I!!SUM-HTM-E.htm page. Now the page is available.
What can we do with the dead threads?
What can we do with the dead threads?
- Catch the error and warn. I this case fetched document will be without abstract.
- Try to kill dead thread after timeout and raise error in main thread.
I think we need both. Relaton needs to tell the user is a particular document is not available (or is no longer available, e.g. deleted).
If anything goes wrong with the dead thread, it should be killed and reported back up the stack.
I think we need both. Relaton needs to tell the user is a particular document is not available (or is no longer available, e.g. deleted).
@ronaldtse relaton already handles errors when a document isn't available. In this situation, an abstract is fetched from a separated page using an additional HTTP request and the additional HTTP request fails. Should we handle the entire document as unavailable if it fails to fetch an abstract?
@andrew2net the abstract is less important, so if we have enough information, we want to make it available to the user. But print out a warning message that fetching abstract failed for that item. Thanks!
https://github.com/metanorma/metanorma-docker/runs/5715002378?check_suite_focus=true
This job died after 6 hours after this crash in Relaton. I believe that right now if a Relaton parallel thread dies, the Thread never joins and therefore stalls forever.