Commit graph

122 commits

Author SHA1 Message Date
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
Brian Gough
cd6e36d7dc upgrade ioredis to 4.17.3 2020-06-01 09:11:57 +01:00
Henry Oswald
264e549fc5 bump io redis to 4.16.1 2020-03-31 09:40:44 +01:00
Brian Gough
c8d50d0ee9 upgrade ioredis to v4.14.1 2019-10-01 16:44:04 +01:00
John Lees-Miller
626511fa73 Bump version number 2019-09-19 16:11:59 +01:00
Brian Gough
d9214b6eeb check full reply in health check 2019-09-19 15:41:43 +01:00
Brian Gough
2435099766 make health check more robust 2019-09-19 15:05:32 +01:00
Henry Oswald
630a957d7b bump ioredis to have naptmap for sentinal 2019-07-02 11:56:21 +01:00
Henry Oswald
d694674b78 put host in error message 2019-05-30 14:36:54 +01:00
Henry Oswald
6600c2e050 add redis options inc host ip to error message 2019-05-30 10:13:05 +01:00
Henry Oswald
b2d6fb77db bump to 1.0.7 2019-05-30 10:12:40 +01:00
Brian Gough
a4bc5ba5b6 fix tests for ioredis as default 2019-05-20 16:15:54 +01:00
Henry Oswald
d1dc6b8ce7 bump ioredis 2019-05-03 11:37:32 +01:00
Henry Oswald
db590651ee make ioredis the driver for standard connections 2019-05-03 11:33:24 +01:00
Brian Gough
f4b2f7742e allow patch updates to ioredis 4.6.0 2019-04-11 15:24:27 +01:00
Henry Oswald
dd3b8eae45 bump ioredis to 4.6.0 which lets us use natMap, package goes to 1.0.5 2019-01-22 15:45:41 +00:00
Brian Gough
1737ddbf29 update ioredis to 3.2.1 2017-10-24 11:30:03 +01:00
Brian Gough
66c09a770e separate out devDependencies 2017-10-24 10:46:38 +01:00
Brian Gough
bda88c0356 remove the key_schema from options passed to redis 2017-06-19 15:46:21 +01:00
Brian Gough
bce937f562 add support for passing options to cluster 2017-06-16 15:28:55 +01:00
James Allen
90e0b4b273 Gracefully handle missing callback to exec in ioredis 2017-05-05 13:36:39 +01:00
James Allen
da85837e6f Update package.json 2017-05-04 15:41:43 +01:00
James Allen
92f22bc1a1 Fix redis cluster health check 2017-05-04 15:38:07 +01:00
Brian Gough
6923ca0d5f add test for ioredis monkey patching 2017-04-25 15:34:41 +01:00
James Allen
89397e4c50 Get unit tests running and add one for ioredis 2017-04-12 16:58:59 +01:00
James Allen
3b58e390fd Include ioredis as a driver to be able to handle cluster configs 2017-04-12 14:53:34 +01:00
Henry Oswald
3334a55944 bump package 2014-11-20 12:50:31 +00:00
Henry Oswald
917ce27a2c add a double message check 2014-11-20 12:50:19 +00:00
Henry Oswald
119ae80853 bump package.json 2014-11-20 11:09:57 +00:00
Henry Oswald
ef0ea2ace2 if redis fails once mark it to always fail 2014-11-20 11:09:44 +00:00
Henry Oswald
e133c7101e incremented version and added basic health check function in 2014-11-19 23:18:56 +00:00
Henry Oswald
6da4f3eef5 bump package 2014-11-19 16:41:28 +00:00
Henry Oswald
4cd3c249ec removed reconnect stuff 2014-11-19 16:39:06 +00:00
James Allen
1ee287ed98 add createMonitoredSubscriptionClient method 2014-11-19 14:05:16 +00:00
James Allen
42cbaecbe0 Let the client take care of reconnecting only when the stream is actually ended 2014-11-19 12:30:10 +00:00
James Allen
861eafd88d Handle reconnect logic better to (hopefully) avoid duplicate connections 2014-11-19 11:52:40 +00:00
James Allen
db3537a8eb Reset heartbeat timer after triggering a reconnect 2014-11-19 11:25:09 +00:00
James Allen
b67b49564d Revert "Use own fork of node-redis-sentinel"
This reverts commit a351534a5f0e50656430ff37d2f6c42f701096d0.
2014-11-19 11:21:36 +00:00
James Allen
e988dc8586 Don't need secure random bytes which can error if not enough entropy 2014-11-19 11:18:31 +00:00
James Allen
68c428545d Don't hash because Henry is hashist! 2014-11-19 11:16:43 +00:00
James Allen
c90cc61570 Set retry_max_delay to 5 seconds so that reconnects don't slow down exponentially 2014-11-19 11:02:27 +00:00
James Allen
230203eadf Add in robust heartbeat driven subscription model 2014-11-19 11:01:02 +00:00
James Allen
79afad5409 Use own fork of node-redis-sentinel 2014-11-18 15:49:27 +00:00
James Allen
8808097f2c Add javascript wrapper so it can be loaded directly 2014-11-07 15:02:45 +00:00
Henry Oswald
4fd5191528 bump package 2014-09-29 12:02:38 +01:00
Henry Oswald
c63f3c9da9 added readme 2014-09-29 12:00:03 +01:00
Henry Oswald
8f31ac60ca if password is passed rename it to auth_pass 2014-09-29 11:40:40 +01:00
Henry Oswald
a33f537cb1 increment package 2014-09-28 20:34:20 +01:00
Henry Oswald
f554ea8bd5 change underscore dep 2014-09-28 20:33:29 +01:00
Henry Oswald
a0c861cf5d pass entire redis object though with all opts in one go 2014-09-26 14:46:23 +01:00
Henry Oswald
629241611b v1 of the redis driver wrapper 2014-09-25 17:33:27 +01:00