Commit graph

47 commits

Author SHA1 Message Date
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