Commit graph

548 commits

Author SHA1 Message Date
John Lees-Miller
3a392fd8c1 Bump version to 3.3.0 2021-01-25 19:45:24 +00:00
Alasdair Smith
1e1d493556 Add corejs config to allow polyfilling of Symbol for IE11 (#17) 2021-01-22 12:12:07 +00:00
Alasdair Smith
f1ed04cc58 Transpile with Babel to ES5 (#16) 2021-01-22 10:29:31 +00:00
Jakob Ackermann
20223d865f [misc] do not register a noop sweeping interval 2021-01-12 14:20:51 +00:00
Jakob Ackermann
29742d6a87 [misc] register the metrics sweeping interval handle for later cleanup 2021-01-12 14:20:31 +00:00
Eric Mc Sween
3581d0ce87 3.5.0 2021-01-11 08:03:49 -05:00
Eric Mc Sween
8dcbd5aec0 Add support for the swagger-tools router
The swagger-tools router puts the request path in the
req.swagger.apiPath property.
2021-01-08 14:53:29 -05:00
Eric Mc Sween
7274217d79 Decaf cleanup 2021-01-08 14:48:13 -05:00
Jakob Ackermann
96b585544a [misc] version bump to 3.2.0
- [OError] getFullInfo returns the error context of nested causes (#14)
2020-12-02 12:32:41 +00:00
Jakob Ackermann
a5e5d9b1cd [OError] getFullInfo returns the error context of nested causes (#14)
* [OError] add getFullInfoIncludeCause for retrieving nested cause info

* Revert "[OError] add getFullInfoIncludeCause for retrieving nested cause info"

This reverts commit 4c7517255a0f37ba94223e559a3926f19bab618d

* [OError] getFullInfo returns the error context of nested causes

* [OError] getFullInfo flip sequence of merging, add test case for it
2020-12-02 11:44:17 +00:00
Jakob Ackermann
8e76e79a83 [misc] version bump to 3.4.1 2020-11-25 11:25:27 +00:00
Jakob Ackermann
6452959482 [misc] do not access potentially undefined opts 2020-11-11 11:35:33 +00:00
Jakob Ackermann
e34f17a352 [misc] creating a redis client with redis-sentinel opts throws an error 2020-11-11 11:31:44 +00:00
Jakob Ackermann
bcd5abadce [misc] version bump to 2.0.0 2020-11-10 10:46:42 +00:00
Jakob Ackermann
41aa5ec876 [misc] rename package to @overleaf/redis-wrapper 2020-11-10 10:46:41 +00:00
Jakob Ackermann
d7eb8c7ecf [misc] refresh package.json
- trim down the files for publishing
- drop sentinel from description
- Overleaf is the new author
- add repository reference
2020-11-10 10:46:41 +00:00
Jakob Ackermann
aabe2d18b9 [misc] rewrite: squash history
- promisify
- merge health check for single node and cluster
- replace the first multi with simple SET in health check
- reworked health check with o-error context/stack-traces for failures
- drop console.error on health check timeout, consumer logs the error
- cleanup unwrapping of ioredis multi result
- Promise support for multi.exec

This has been squashed from das7pad s fork.
REF: b3dd8c5cf4cc6482fd450e6bb67013508844f93f
2020-11-10 10:34:06 +00:00
Jakob Ackermann
ccf4bb1e0e [misc] test/scripts: use logger-sharelatex for logging as in production 2020-11-10 10:15:03 +00:00
Jakob Ackermann
d827b521c6 [misc] test/unit: loosely match the passed redis options
The rewrite will pass a cloned object through.
2020-11-10 10:10:22 +00:00
Jakob Ackermann
4aebc1b0b6 [misc] rewrite: free functions 2020-11-10 10:10:22 +00:00
Jakob Ackermann
da8bef821b [misc] decaffeinate: decaffeinate module 2020-11-10 10:10:21 +00:00
Jakob Ackermann
c973c5b188 [misc] decaffeinate: rename 2/2 2020-11-10 10:10:21 +00:00
Jakob Ackermann
45bf2abb14 [misc] decaffeinate: rename 1/2 2020-11-10 10:10:20 +00:00
Jakob Ackermann
830d6275b3 [misc] add scripts for testing redis cluster 2020-11-10 10:10:06 +00:00
Jakob Ackermann
7b69cc42c9 [misc] decaffeinate tests: decaffeinate unit tests 2020-11-09 17:52:29 +00:00
Jakob Ackermann
7210b3dfed [misc] decaffeinate tests: decaffeinate standalone script 2020-11-09 17:52:20 +00:00
Jakob Ackermann
0a2171e9f0 [misc] decaffeinate tests: rename 2020-11-09 16:57:08 +00:00
Jakob Ackermann
1a090b7b46 [misc] add editor config, eslint, prettier boiler plate
versions taken from o-error (prettier-eslint-cli from real-time)
2020-11-09 16:56:56 +00:00
Jakob Ackermann
7eccce2ed0 [misc] reference module via js/loose file extension 2020-11-09 16:16:11 +00:00
Jakob Ackermann
69df7f5bb3 [misc] move test scripts into test/ tree 2020-11-09 16:11:11 +00:00
Jakob Ackermann
39809562fd [misc] use plain mocha for testing and bump devDependencies 2020-11-09 16:03:33 +00:00
Jakob Ackermann
dddb431034 [misc] drop unused async
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2020-11-09 16:02:30 +00:00
Jakob Ackermann
a53eef5e3d [healthCheck] bring back support for redis cluster
Assume `cluster-require-full-coverage=yes` is set for the redis cluster,
 which is the default value.

We are writing into a single hash slot, resulting in a partial health
 check only.
The 'cluster-require-full-coverage=yes' blocks writes as soon as any
 hash slot is not covered by an active primary.
We are leveraging the health check build into the redis cluster topology
 to bring the scope of the single read/write/delete to the full cluster.

REF: 1b3566d6c830289dc826da1d13b75d68205d8dec
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2020-11-09 16:02:29 +00:00
Jakob Ackermann
18fa184230 [misc] drop references for 'redis' package from unit tests 2020-11-09 16:02:25 +00:00
Jakob Ackermann
90ad28c51c [misc] drop support for redis-sentinel 2020-11-09 15:59:28 +00:00
Jakob Ackermann
2d1c84ea2e [misc] fix collection of open sockets
```
> require('http').globalAgent.sockets
{ 'HOST:PORT:': [{ ... }, { ... }] }
```

- `new URL('http://HOST:PORT:')` throws
  -> test suite `open_sockets`
- gauges were not cleaned up after no agents were present for a given
   key. This lead to continuous emission of the previous connection
   count for a given hostname, following the completion of all requests.
  -> test suite `when all requests complete`
2020-11-06 15:16:14 +00:00
Eric Mc Sween
142d9a5716 3.4.0 2020-10-30 07:39:47 -04:00
Eric Mc Sween
20b3d5070c Export a configured prom-client
Metrics.initialize() and Metrics.configure() will configure the default
Prometheus registry with default "app" and "host" labels. The configured
prom-client module is available as Metrics.prom.
2020-10-29 09:49:55 -04:00
Christopher Hoskin
725478d95f Release 3.3.0 2020-10-27 14:02:21 +00:00
Christopher Hoskin
f874291998 Bump google-cloud trace-agent, debug-agent and profiler to latest 2020-10-26 17:40:18 +00:00
Christopher Hoskin
d4a649353f Commit package-lock.json 2020-10-26 17:33:43 +00:00
Christopher Hoskin
fedc3191b8 Bump node to 10.19 2020-10-26 17:33:24 +00:00
Eric Mc Sween
0fdfa706f7 Make 404 error handling on deletes more specific
The GCS persistor error handler ignores 404 errors on deletes. However,
the net is too wide cast, and 404 errors coming from the dual-bucket
lifecycle mechanism are also ignored.
2020-10-15 10:35:52 -04:00
Simon Detheridge
60931b86c3 Don't try to delete files if none are found in a directory 2020-10-13 09:53:19 +01:00
John Lees-Miller
9b739f1c7d Bump version to 3.1.0 2020-09-25 16:10:12 +01:00
Eric Mc Sween
9089d332ab Add a "unsignedUrls" option to the GCS persistor
This boolean option disables URL signing. Instead, getRedirectUrl()
returns the plain GCS download URL.
2020-09-22 15:59:13 -04:00
Eric Mc Sween
0fdbb2dcc0 Add .npmignore to avoid publishing config files 2020-09-17 10:44:24 -04:00
Eric Mc Sween
bd1a1dbabf 3.2.1 2020-09-17 10:40:34 -04:00
Eric Mc Sween
2f35db4087 Fix startup crash
Version 3.2.0 crashes on startup because it calls buildPromKey() without
arguments. To avoid this kind of obvious bug to happen again, I added
some basic acceptance tests.
2020-09-17 10:30:25 -04:00
John Lees-Miller
258cc08717 Add a limit on the number of tags, OError.maxTags (#13)
* Add OError.maxTags

* Tidy up package scripts and add a build script

Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
Co-authored-by: Eric Mc Sween <eric.mcsween@overleaf.com>
2020-09-17 15:17:44 +01:00