James Allen
d8135749d2
Merge branch 'master' into ja-increase-limits-on-changes
...
Conflicts:
app/coffee/RedisManager.coffee
2017-03-06 11:57:40 +00:00
Brian Gough
d086e0b61b
log doclines on hash mismatch
2017-03-03 15:57:44 +00:00
James Allen
f544814dda
Add in an absolute size limit on the ranges JSON object
2017-02-27 14:34:20 +01:00
James Allen
dd45a8dd7d
Improve logging around hashes and null byte errors
2017-02-27 10:06:24 +01:00
James Allen
60f3393c44
Do a naive check for null bytes after JSON.stringify on doc lines
2017-02-27 09:55:04 +01:00
Brian Gough
168bab6960
make hash error logging fine grained
2017-02-22 14:32:51 +00:00
Brian Gough
19e7522d3f
make logging of hash errors optional
2017-02-22 13:46:34 +00:00
Brian Gough
5eb339e525
fix utf8 encoding in sha1 hash
2017-02-21 16:03:06 +00:00
Brian Gough
c57d3ce31c
compute hash on write in redis server
2017-02-20 14:09:09 +00:00
Brian Gough
b5a4458b68
check sha1 hash value only if present
2017-02-15 14:12:36 +00:00
Brian Gough
bd70aaa76c
add sha1 hash support on writes
2017-02-14 16:11:43 +00:00
James Allen
e3fee1a1d1
Rename 'track changes entries' -> 'ranges'
2016-12-08 12:31:43 +00:00
James Allen
4fadd75ef3
Track changes based on flag on op, not global setting
2016-12-02 11:04:21 +00:00
James Allen
e739e86c48
Get basic ChangeTracker hooked up. WIP
2016-11-28 10:14:42 +00:00
James Allen
993aab7a78
Don't try to redis rpush with no arguments
2016-09-12 10:37:32 +01:00
James Allen
c85fd7ef41
Merge branch 'master' into ja-consistency-refactor
2016-09-07 11:08:04 +01:00
Brian Gough
9bc7594226
clean up redis query
2016-09-05 10:31:54 +01:00
James Allen
8779f3f686
Only write DocOps atomically with version and lines, after all docs are applied
2016-08-23 16:00:46 +01:00
James Allen
87f3e5e809
Remove old migration code
2016-08-23 11:03:37 +01:00
James Allen
4f34cb7363
Only set keys in migration if they exist
2016-07-08 11:45:36 +01:00
James Allen
8b090c0a60
Don't call sadd with blank args
2016-07-07 16:41:38 +01:00
James Allen
fde334acc4
Create script that will ensure data is migrate between redis backends
2016-06-29 12:57:56 +01:00
James Allen
da89ff7172
Add in external health check rather than internal
2016-06-23 18:00:03 +01:00
James Allen
414ab5d6a9
Refactor TCP redis monitoring to be more explicit
2016-06-23 15:59:25 +01:00
James Allen
8ef03c3d2f
Add in application layer monitoring of the health of each cluster node
2016-06-23 15:38:51 +01:00
James Allen
bc00aab7b1
Explicitly separate calls to web and docupdater redis instances
2016-06-17 12:17:22 +01:00
James Allen
c823e06912
Don't run redis commands in parallel for easier consistency reasoning
2016-06-08 16:42:09 +01:00
James Allen
1db6f8f159
Pull out rclient into RedisBackend that supports sending requests to multiple rclients
2016-06-07 17:58:18 +01:00
James Allen
ea8f4a6d7a
Remove unused getDocOpsLength method
2016-06-01 11:58:15 +01:00
James Allen
05b09a447e
Ensure that all multi call keys will hash to the same node in cluster
2016-06-01 11:40:12 +01:00
James Allen
f707783aba
Remove old methods of triggering doc updates
...
Remove the old pub/sub listener which is no longer used.
Also remove the DocsWithPendingUpdates set, which used to track
docs waiting to be updated. This was necessary incase messages were
missed on the pub/sub channel, so we knew which docs still had pending
updates. However, now we use the BLPOP queue, these updates just sit in
the queue until a consumer comes back to continue consuming them.
2016-06-01 11:28:23 +01:00
James Allen
b2e58266ae
Remove unused total doc counting redis commands
2016-06-01 11:03:39 +01:00
James Allen
32ce44f9c6
Remove unused gzipping logic
2016-06-01 10:53:50 +01:00
James Allen
11667e8250
Return semantic error if the requested ops are not available when getting a document
2016-05-31 13:24:19 +01:00
Brian Gough
13e22e1802
Revert "only flush to track-changes when ops are queued"
...
This reverts commit 0baa8f989481ca263fa71e90af21f13b29c29504.
2015-12-01 15:48:49 +00:00
Brian Gough
7a9577e081
only flush to track-changes when ops are queued
2015-11-30 15:17:11 +00:00
Brian Gough
6cdf5615fc
remove old unused functions
2015-03-31 10:24:09 +01:00
Brian Gough
66fa170ac8
disable compression by default
2015-03-27 15:32:13 +00:00
Brian Gough
6bffa4d9e0
don't log docLines when document removed from redis
...
they can now be binary gzipped data which messes up the logs
2015-03-25 16:54:36 +00:00
Brian Gough
e3d73d4456
add gzip support for large documents to reduce load on redis
2015-03-25 16:53:20 +00:00
James Allen
c822bb6ea4
Add in missed error catching
2014-11-19 12:51:19 +00:00
Henry Oswald
5ff8983528
implemeneted redis-sharelatex
2014-10-07 12:08:36 +01:00
Henry Oswald
9c85e9b848
moved back to not include sentinal while we upgrade to 0.10.x node
2014-09-29 12:07:32 +01:00
Henry Oswald
672dd3de1b
works with sentinal v1
2014-09-26 17:38:59 +01:00
James Allen
8973969224
Merge branch 'master' into remove_mongo_doc_ops
...
Conflicts:
app/coffee/DocOpsManager.coffee
test/acceptance/coffee/ApplyingUpdatesToADocTests.coffee
test/acceptance/coffee/FlushingDocsTests.coffee
test/unit/coffee/DocOpsManager/DocOpsManagerTests.coffee
test/unit/coffee/RedisManager/prependDocOpsTests.coffee
test/unit/coffee/RedisManager/pushDocOpTests.coffee
2014-05-14 12:39:40 +01:00
James Allen
c0be3ef37b
Put doc_ids with history changes into project level set
2014-03-21 12:41:05 +00:00
James Allen
86195ce7c3
Add in load throttling based on a redis key
2014-02-28 19:09:29 +00:00
James Allen
6f19f46d96
Create method for pushing uncompressed ops into redis
2014-02-24 16:40:29 +00:00
James Allen
7a977ca597
Don't store ops in Mongo, just keep them in redis with a timeout
2014-02-24 16:13:36 +00:00
James Allen
414b669a2c
Point every redis connection to the new config
2014-02-13 10:36:26 +00:00
James Allen
e1a7d4f24a
Initial open sourcing
2014-02-12 10:40:42 +00:00