Commit Graph

210 Commits

Author SHA1 Message Date
Brian Gough
bf2430f1fc fix broken unit test 2020-06-02 11:12:57 +01:00
Brian Gough
2211ebcefb fix eslint errors 2020-06-02 09:51:34 +01:00
Brian Gough
440ec5553e fix unreachable code lint error 2020-06-02 09:28:04 +01:00
Brian Gough
17c14b1192 fix formatting with make format_fix 2020-06-02 09:18:38 +01:00
Brian Gough
8c60406bb5 Merge pull request #170 from overleaf/jpa-import-141
[DockerRunner] destroyOldContainers: fix a race confition
2020-06-02 09:04:59 +01:00
Brian Gough
9db18c95a5 Merge pull request #169 from overleaf/bg-record-latexmk-output
record latexmk output
2020-06-02 09:03:43 +01:00
Jakob Ackermann
f8cb5e36af [DockerRunner] destroyOldContainers: normalize the container name
The docker api returns each name with a `/` prefix.

In order to not interfere with pending compiles, the deletion process
 has to acquire an internal lock on the container. The LockManager uses
 the plain container name without the slash: `project-xxx`.

Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2020-05-29 11:28:26 +01:00
Brian Gough
1bcb370ca1 clean up log file deletion and add unit test 2020-05-20 14:12:08 +01:00
Brian Gough
e3c278e708 add unit tests 2020-05-20 11:52:53 +01:00
Henry Oswald
fec359afac Merge pull request #162 from overleaf/ta-jpa-epipe-retry
[DockerRunner] retry container inspect on EPIPE
2020-05-19 11:15:25 +01:00
Jakob Ackermann
b8125e396a [misc] simplify the smoke test and process shutdown 2020-05-19 10:30:59 +01:00
Henry Oswald
73afa1a8d7 Merge pull request #164 from overleaf/bg-fix-buffer-deprecations
fix deprecated usage of Buffer constructor
2020-05-19 10:26:56 +01:00
Henry Oswald
942678de38 Merge pull request #163 from overleaf/bg-use-encoding-on-process-output
set encoding when reading from streams
2020-05-19 10:26:26 +01:00
Henry Oswald
3834c37013 Merge pull request #165 from overleaf/ho-retry-url-downloads
add pipeUrlToFileWithRetry for file downloads
2020-05-19 10:25:19 +01:00
Henry Oswald
c004d299c1 add refreshExpiryTimeout function
on clsi all data lives inside of / dir
dynamically reduce size of EXPIRY_TIMEOUT if disk starts to get full
2020-05-18 15:17:19 +01:00
Henry Oswald
0bd99a3edc add pipeUrlToFileWithRetry function to retry file downloads 3 times 2020-05-14 13:24:58 +01:00
Brian Gough
3592ffda52 fix deprecated usage of Buffer constructor 2020-05-07 10:42:05 +01:00
Brian Gough
5b5fd2f5df set encoding when reading from streams
using .toString() works most of the time but can lead to utf8 characters being
broken across chunk boundaries.

https://nodejs.org/api/stream.html#stream_readable_setencoding_encoding
2020-05-07 10:30:14 +01:00
Tim Alby
e3da458b37 retry once on EPIPE errors
Co-Authored-By: Jakob Ackermann <jakob.ackermann@overleaf.com>
2020-04-10 12:28:11 +02:00
Tim Alby
8fa4232148 fix arguments order
Co-Authored-By: Jakob Ackermann <jakob.ackermann@overleaf.com>
2020-04-10 12:27:15 +02:00
Jakob Ackermann
2bd4c1dbee Merge remote-tracking branch 'origin/master' into jpa-entry-point-cleanup 2020-04-03 14:05:36 +02:00
Jakob Ackermann
44f30d6c2e Merge pull request #159 from overleaf/jpa-fix-docker-modem-error-scheme
[misc] keep up with the error signature of dockerode/docker-modem
2020-04-03 14:04:06 +02:00
Jakob Ackermann
3db40804ba [misc] use a directory in /tmp for temporary data 2020-04-03 12:36:32 +02:00
Jakob Ackermann
638d2f30d3 [misc] add a metric for failing downloads 2020-04-03 12:35:40 +02:00
Jakob Ackermann
4a26ec975f [misc] keep up with the error signature of dockerode/docker-modem
https://github.com/apocas/docker-modem/blob/v2.1.1/lib/modem.js#L296
2020-03-27 10:39:45 +01:00
mserranom
4a47f21edd updated sandboxed-module, chai and metrics-sharelatex 2020-03-16 17:14:04 +01:00
mserranom
3ff9c18dcb updated mocha and sinon, fixed tests 2020-03-12 10:35:11 +01:00
mserranom
ffb33ddb40 removed mkdirp dependency and replaced with fs.mkdir 2020-03-12 10:22:08 +01:00
mserranom
bf470cf5ae moved decaffeinated files to js folder 2020-02-25 17:15:31 +01:00
decaffeinate
957f80ada4 decaffeinate: Run post-processing cleanups on loadTest.coffee 2020-02-25 17:03:58 +01:00
decaffeinate
a327c217e7 decaffeinate: Convert loadTest.coffee to JS 2020-02-25 17:03:57 +01:00
decaffeinate
d180fcd84a decaffeinate: Rename loadTest.coffee from .coffee to .js 2020-02-25 17:03:57 +01:00
decaffeinate
699000111b decaffeinate: Run post-processing cleanups on SmokeTests.coffee 2020-02-25 17:03:39 +01:00
decaffeinate
4f01b7716e decaffeinate: Convert SmokeTests.coffee to JS 2020-02-25 17:03:37 +01:00
decaffeinate
d1e0b8548e decaffeinate: Rename SmokeTests.coffee from .coffee to .js 2020-02-25 17:03:36 +01:00
mserranom
ee12573b06 added container monitor cleanup to fix hanging tests 2020-02-20 17:24:28 +01:00
mserranom
7e737bba4f fixed test paths 2020-02-19 12:38:54 +01:00
mserranom
71a50dd11f prettier: convert test/acceptance decaffeinated files to Prettier format 2020-02-19 12:16:14 +01:00
mserranom
7996f44942 decaffeinate: rename test/acceptance/coffee to test/acceptance/js 2020-02-19 12:16:11 +01:00
decaffeinate
95854a3abb decaffeinate: Run post-processing cleanups on BrokenLatexFileTests.coffee and 9 other files 2020-02-19 12:16:07 +01:00
decaffeinate
955749a7c4 decaffeinate: Convert BrokenLatexFileTests.coffee and 9 other files to JS 2020-02-19 12:16:00 +01:00
decaffeinate
a2a3fddd54 decaffeinate: Rename BrokenLatexFileTests.coffee and 9 other files from .coffee to .js 2020-02-19 12:15:54 +01:00
mserranom
7e2542319f prettier: convert test/unit decaffeinated files to Prettier format 2020-02-19 12:15:37 +01:00
mserranom
b515397b5a decaffeinate: rename test/unit/coffee to test/unit/js 2020-02-19 12:15:30 +01:00
decaffeinate
0cb5426548 decaffeinate: Run post-processing cleanups on CompileControllerTests.coffee and 17 other files 2020-02-19 12:15:25 +01:00
decaffeinate
79a0891fee decaffeinate: Convert CompileControllerTests.coffee and 17 other files to JS 2020-02-19 12:15:08 +01:00
decaffeinate
18e6b4715d decaffeinate: Rename CompileControllerTests.coffee and 17 other files from .coffee to .js 2020-02-19 12:14:56 +01:00
Eric Mc Sween
775306aa63 Send output files on timeout
The unconventional use of callbacks to return both an error and data
after compilation created a subtle bug where the output files were
dropped by the LockManager in case of an error such as a timeout.

This prevented the frontend to show error logs when a timeout occurs,
creating confusion among users.

We now attach the output files to the error so that they reach the
controller and are sent back to the web service.
2019-10-22 16:31:37 -04:00
Brian Gough
bc530c70e2 Merge pull request #119 from overleaf/bg-increase-acceptance-test-timeout
increase timeout for long-running acceptance tests
2019-05-16 09:17:26 +01:00
Michael Mazour
663ec88718 Add flags option to request JSON
Adds a `flags` parameter to the request JSON, appearing under the `compile.options` key (alongside such stalwarts as `compiler`, `timeout`, etc.).

This is primarily to support `-file-line-error` as an option, but could have other uses as well.

`flags` should be an array of strings, or absent. If supplied, the listed arguments are added to the base latexmk command.
2019-05-14 16:24:34 +01:00