Files
overleaf-cep/services/filestore
Antoine Clausse 2b1df12052 [filestore] Replace delayShutdownMs by gracefulShutdownDelayInMs (#22077)
* Add a default 30s timeout for `delayShutdownMs`

`settings.delayShutdownMs` doesn't seem to be defined anywhere

Logs typically often this pair of entries:
```
INFO 2024-11-21T15:51:42.115Z [resource.labels.containerName: filestore] received interrupt, cleaning up
INFO 2024-11-21T15:51:42.120Z [resource.labels.containerName: filestore] shutdown timed out, exiting
```
This indicates that there is no delay between the interrupt signal and the shutdown. The 100ms delay also doesn't happen. We believe that the `server.close` callback is called after `server.closeAllConnections()`, and the `server closed` log is usually lost because of the process exiting immediately.

See: https://cloudlogging.app.goo.gl/WJQ6mc3gWwotVQya7

* Add timeout before exiting

* Replace `delayShutdownMs` by `gracefulShutdownDelayInMs`.

Looks like the error came from a wrong merge in https://github.com/overleaf/internal/pull/18756

We don't want a default 30s timeout for the shutdown, per https://github.com/overleaf/internal/pull/16888

GitOrigin-RevId: c1bdc8986f78a6e18e8b8b1fe60b33aa6ffef909
2024-11-22 09:06:27 +00:00
..
2016-12-14 18:15:09 +00:00
2014-02-14 16:39:05 +00:00
2014-04-02 17:45:41 +01:00
2020-08-10 17:01:12 +01:00
2019-12-16 11:58:22 +00:00
2014-02-19 14:48:15 +00:00
2016-12-14 17:14:15 +00:00

overleaf/filestore

An API for CRUD operations on binary files stored in S3

filestore acts as a proxy between the CLSIs and (currently) Amazon S3 storage, presenting a RESTful HTTP interface to the CLSIs on port 3009 by default. Urls are mapped to node functions in https://github.com/overleaf/filestore/blob/master/app.coffee . URLs are of the form:

  • /project/:project_id/file/:file_id
  • /template/:template_id/v/:version/:format
  • /project/:project_id/public/:public_file_id
  • /project/:project_id/size
  • /bucket/:bucket/key/*
  • /shutdown
  • /status - returns HTTP 200 filestore is up or HTTP 503 when shutting down
  • /health_check

License

The code in this repository is released under the GNU AFFERO GENERAL PUBLIC LICENSE, version 3. A copy can be found in the LICENSE file.

Copyright (c) Overleaf, 2014-2019.