Commit graph

94 commits

Author SHA1 Message Date
Brian Gough
0c63515de6 Merge pull request #8729 from overleaf/bg-return-file-too-large
[document-updater] return 413 error when doc is too large

GitOrigin-RevId: d66300c78bea4071f29044be160929dba782b728
2022-07-07 08:03:23 +00:00
Brian Gough
e7e4e49d90 Merge pull request #8546 from overleaf/bg-fix-docupdater-history-redis
[document-updater] docsWithHistoryOps should use the main rclient

GitOrigin-RevId: a86c081ea0b0f02a9d4c36df0ca76dc9aa3bac57
2022-06-24 08:03:32 +00:00
Jakob Ackermann
cd11db456d Merge pull request #7835 from overleaf/jpa-redis-locker-package
[misc] extract document-updaters LockManager into redis-wrapper package

GitOrigin-RevId: 5775ab9df7afb614dfc5f502df526c8735f84a91
2022-05-19 08:02:57 +00:00
Brian Gough
bd541b4c2d Merge pull request #7347 from overleaf/bg-record-snapshot-metrics
record metrics for docupdater range operations

GitOrigin-RevId: 41c500630dd81670d2798d388f2961a19df76b63
2022-04-07 09:57:01 +00:00
Eric Mc Sween
4bbf017c94 Merge pull request #6237 from overleaf/em-revert-jumprope
Revert use of the jumprope library in document-updater

GitOrigin-RevId: bf83f04cf5a53bf710af74a366f4dd86c06a1fd5
2022-01-06 09:03:11 +00:00
Eric Mc Sween
c8f61e908c Merge pull request #6018 from overleaf/msm-rope-apply
Speed up OT Apply in docupdater using Ropes

GitOrigin-RevId: 9789c3910d40a4161f1f0d9c16cef8d8ca74788c
2021-12-16 09:02:56 +00:00
Eric Mc Sween
7a0b40a4bf Merge pull request #5941 from overleaf/em-cleanup-redis-manager
Decaf cleanup docupdater RedisManager and DocumentManager

GitOrigin-RevId: 6a9634d1882a3a7328cac8cd88537dd9d204b281
2021-12-01 09:03:12 +00:00
Brian Gough
4f32ddc4cb Merge pull request #5892 from overleaf/tm-large-docs-in-resync
Do size check on doc before queuing resyncDocContent

GitOrigin-RevId: 315b849375fd17a2936adacaad4a93ccf283d853
2021-11-26 09:02:57 +00:00
Brian Gough
9d4ed693f5 Merge pull request #5826 from overleaf/bg-use-resync-path
[document-updater] use paths from project structure update in resync

GitOrigin-RevId: 6ed2a48da76553e2fe5d0d3ec8da535515a35110
2021-11-23 09:03:14 +00:00
Brian Gough
587cd33d82 Merge pull request #5860 from overleaf/bg-fix-docupdater-delete-doc
fix docupdater delete operation

GitOrigin-RevId: daab03b7659688d53c54ac80756394796d3c6348
2021-11-23 09:02:35 +00:00
Jakob Ackermann
7f9fd00bda Merge pull request #5367 from overleaf/jpa-node-handle-callback-err
[misc] fix eslint violations for node/handle-callback-err

GitOrigin-RevId: 83a4900e8861010df1917bff49382bd9c93375bd
2021-10-28 08:03:26 +00:00
Jakob Ackermann
a6f05109a3 Merge pull request #5352 from overleaf/jpa-no-var
[misc] fix eslint violations for `no-var`

GitOrigin-RevId: c52e82f3a8a993b8662cc5aa56e7b95ca3c55832
2021-10-27 08:03:00 +00:00
Brian Gough
2cd7b615bf Merge pull request #5159 from overleaf/bg-docupdater-log-relevelling
docupdater log re-levelling

GitOrigin-RevId: c27478d48f1cb1eae022086fe7af9fe55dfacfa0
2021-10-01 08:03:04 +00:00
Brian Gough
865a973426 Merge pull request #5132 from overleaf/bg-fix-size-check
[docupdater] use more accurate doc size check

GitOrigin-RevId: f66d68a7f7fdc127cc31539abdcab65549823d02
2021-09-21 08:02:55 +00:00
Eric Mc Sween
9f4541c266 Merge pull request #4761 from overleaf/em-peek-doc
Do not unarchive docs when resyncing project history

GitOrigin-RevId: c7df75789c01e6c85b464a9b94b14654d8568407
2021-08-20 08:03:50 +00:00
Brian Gough
0fd24b5133 peek at docs without fetching from mongo 2021-07-30 16:13:48 +01:00
Jakob Ackermann
c532376e21 [misc] run format_fix and lint:fix 2021-07-13 12:04:42 +01:00
Jakob Ackermann
519dd274bf [misc] switch from settings-sharelatex to @overleaf/settings 2021-07-12 17:47:15 +01:00
Jakob Ackermann
6e551f9b34 [perf] use MGET/MSET/DEL for manipulating multiple keys in one operation
In some cases we can get rid of MULTI/EXEC operations too.
- putDocInMemory: from 10 down to 2 operations
- removeDocFromMemory: from 14+4 down to 4+4 operations
- updateDoc: from 13 down to 8 operations
2021-04-13 11:47:10 +01:00
Jakob Ackermann
178440395f [perf] switch write sequence for doc contents and doc tracking
Doc contents are added only after the tracking has been setup.
All read paths on the tracking have been checked to gracefully handle
 the case of existing doc_id but missing doc contents.

- getDoc: -1 operation

REF: 0a2b47c660c60b95e360d8f3b3e30b862ceb6d79
2021-04-13 11:46:44 +01:00
Jakob Ackermann
50b24043b7 [perf] use MGET for fetching multiple keys in one operation
- getDoc: from 13 down to 2 operations
2021-04-09 08:42:35 +01:00
Eric Mc Sween
4d70bd664f Reintroduce Node 12 and metrics upgrades
These changes were previously merged, not deployed, and reverted. This
reverts the revert.

This reverts commit a6b8c6c658b33b6eee78b8b99e43308f32211ae2, reversing
changes made to 93c98921372eed4244d22fce800716cb27eca299.
2021-04-01 15:51:00 -04:00
Eric Mc Sween
4dd1b26b2e Revert "Merge pull request #161 from overleaf/em-upgrade-node-12"
This reverts commit d44102751b9436ad89c5b3b05e7abdff51fcc78a, reversing
changes made to 6c2f5b8d053b75c677da2b7ddd04f998d2be6fff.
2021-03-31 12:07:11 -04:00
Eric Mc Sween
dc5bfea181 Global test setup
Configure chai and SandboxedModule globally with options used in many
tests.

That required upgrading mocha and SandboxedModule.
2021-03-16 16:48:45 -04:00
Thomas
23738540ed Fix API request errors which could contain API hostname or address (#160)
Wrap errors produced by failing requests to web API, and remove the url/hostname from thrown error messages. (But keep the URL path for info.)
2021-02-24 15:09:19 +01:00
Henry Oswald
11c8cfc939 shard the pending-updates-list queue 2021-02-02 16:38:25 +00:00
Jakob Ackermann
08ed5f6c9b [misc] bump @overleaf/redis-wrapper to version 2.0.0 2020-11-11 16:20:32 +00:00
Eric Mc Sween
1d1f204021 Remove backwards-compat project update API
The project update endpoint accepted updates both in two array params:
docUpdates and fileUpdates, and in a single array: updates. This commit
removes the docUpdates/fileUpdates params now that web uses the updates
param.
2020-05-20 16:26:22 -04:00
Eric Mc Sween
9799b94752 Accept ordered doc and file updates
Add an `updates` parameter to the project update endpoint. It can be
used instead of `docUpdates` and `fileUpdates` to provide a single list
of updates in the order they should be processed.
2020-05-20 07:57:32 -04:00
Eric Mc Sween
65fe74fd2d Upgrade Sinon 2020-05-15 15:34:14 -04:00
Eric Mc Sween
759d385be8 Decaf cleanup: unused variables 2020-05-15 14:43:05 -04:00
Eric Mc Sween
86747ba64f Decaf cleanup: stub setup in tests 2020-05-15 14:43:03 -04:00
Eric Mc Sween
9e4280916a Decaf cleanup: unnecessary returns 2020-05-15 14:41:04 -04:00
Eric Mc Sween
7a5a782dc7 Decaf cleanup: camel case variables 2020-05-15 09:59:26 -04:00
Eric Mc Sween
16c0ed23db Fix tests after decaf cleanup
* Camel casing in logs
* The Express request object always has query and body properties
2020-05-11 11:37:59 -04:00
Eric Mc Sween
0b1c7e90af Decaf cleanup: remove unused variables 2020-05-11 11:26:28 -04:00
Eric Mc Sween
3acb970442 Decaf cleanup: simplify stubbed class 2020-05-11 11:24:07 -04:00
Eric Mc Sween
526ef25fcf Decaf cleanup: unnecessary returns 2020-05-11 11:20:55 -04:00
Tim Alby
cf87daa754 fix Metrics module stub 2020-05-06 12:17:03 +02:00
Tim Alby
8176cb3e8d remove requires for coffee-script package in tests 2020-05-06 12:16:59 +02:00
Tim Alby
9a2f8ecbd4 prettier: convert test/unit decaffeinated files to Prettier format 2020-05-06 12:11:36 +02:00
Tim Alby
bb20394243 decaffeinate: rename test/unit/coffee to test/unit/js 2020-05-06 12:11:30 +02:00
James Allen
0199f2e129 Use version from web, with fallback to old mongo collection 2014-05-14 13:28:17 +01:00
James Allen
e1a7d4f24a Initial open sourcing 2014-02-12 10:40:42 +00:00