overture-stack / maestro

Indexing software to connect SONG and Arranger through Elasticsearch
https://www.overture.bio/documentation/maestro/
GNU Affero General Public License v3.0
0 stars 0 forks source link

BUG - Client connection timeout stops indexing #250

Open justincorrigible opened 2 years ago

justincorrigible commented 2 years ago

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.