As noticed in VirusSeq, when a request is made for Maestro to index a study (e.g., from its swagger, or using postman), if the connection times out, Maestro stops indexing without notification.
In our case, as a workaround, we modified Nginx's ingress annotation for read timeout; which is not ideal and got the job done, but doesn't solve the underlying issue.
Expected behaviour
If Maestro will stop indexing for whatever reason, a log message should be produced to indicate the process has been stopped on purpose. Alternatively, rather than stopping the process when the connection drops (which could happen for a myriad of unexpected reasons), Maestro could immediately respond with a "201. Starting indexing study XYZ", and it should then continue indexing in the background, at least until a command to stop or cancel is sent.
Furthermore, If it doesn't already exist, another endpoint may be implemented for users to inspect which studies are in progress etc.
Describe the bug
As noticed in VirusSeq, when a request is made for Maestro to index a study (e.g., from its swagger, or using postman), if the connection times out, Maestro stops indexing without notification. In our case, as a workaround, we modified Nginx's ingress annotation for read timeout; which is not ideal and got the job done, but doesn't solve the underlying issue.
Expected behaviour
If Maestro will stop indexing for whatever reason, a log message should be produced to indicate the process has been stopped on purpose. Alternatively, rather than stopping the process when the connection drops (which could happen for a myriad of unexpected reasons), Maestro could immediately respond with a "201. Starting indexing study XYZ", and it should then continue indexing in the background, at least until a command to stop or cancel is sent.
Furthermore, If it doesn't already exist, another endpoint may be implemented for users to inspect which studies are in progress etc.
Edit: linking https://github.com/icgc-argo/roadmap/issues/874 to distinguish them, for even though is similar enough, they're not quite the same problem.