Paulo Reis
|
d530ee9501
|
Add methods to bulk accept changes.
|
2017-05-04 15:32:54 +01:00 |
|
James Allen
|
4104ca4889
|
Add in separate redis config for the lock and fix a few web -> realtime
|
2017-05-03 16:27:32 +01:00 |
|
James Allen
|
ed493d8ad3
|
Rename web -> realtime for consistency with realtime
|
2017-05-02 15:38:33 +01:00 |
|
James Allen
|
c5449ae282
|
Split out redis config for real-time and track-changes into separate cluster-compatible configs
|
2017-04-13 17:00:42 +01:00 |
|
James Allen
|
f21208e841
|
Use new redis-sharelatex instead of RedisBackend for cluster abstraction
|
2017-04-12 14:53:03 +01:00 |
|
Brian Gough
|
5583764d05
|
fix callback prototype in getLock
|
2017-03-30 15:31:47 +01:00 |
|
Brian Gough
|
c11618b475
|
improve unlock error handling
|
2017-03-30 15:31:34 +01:00 |
|
Brian Gough
|
527c02a00b
|
log op versions pushed to track changes
|
2017-03-30 11:20:50 +01:00 |
|
James Allen
|
0245bfd031
|
Support an incoming undo flag for history restores
|
2017-03-21 11:20:38 +00:00 |
|
James Allen
|
199079a5b7
|
Merge branch 'master' into ja-cut-and-paste-comments
|
2017-03-20 10:29:01 +00:00 |
|
James Allen
|
9c5299ec7c
|
Update RangeTracker to support upserting and moving comments for cut and paste
|
2017-03-16 15:49:41 +00:00 |
|
James Allen
|
5499a67d78
|
Add in a consistency check after applying updates that ranges still match
|
2017-03-15 14:12:06 +00:00 |
|
James Allen
|
b9e4492001
|
Wrap RangeTracker in try catch
|
2017-03-06 19:05:11 +00:00 |
|
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 |
|
James Allen
|
269433f250
|
Merge pull request #25 from sharelatex/bg-log-doclines-on-hash-mismatch
log doclines on hash mismatch
|
2017-03-06 11:53:24 +00:00 |
|
Brian Gough
|
d086e0b61b
|
log doclines on hash mismatch
|
2017-03-03 15:57:44 +00:00 |
|
Brian Gough
|
b186a01c04
|
don't log errors from redis backend
this also picks up errors from RedisManager like "doc ops range is not
loaded in redis"
|
2017-03-03 15:27:42 +00:00 |
|
James Allen
|
d56bb55953
|
Revert PR #19
|
2017-03-01 16:49:46 +00:00 |
|
James Allen
|
9cfe651930
|
Merge pull request #19 from sharelatex/ja-track-changes
Don't consume partial parts of delete when inserting a change
|
2017-03-01 10:20:06 +01: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
|
f211c282b2
|
Merge branch 'master' into ja-increase-limits-on-changes
|
2017-02-27 13:50:42 +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 |
|
James Allen
|
fd3dee0af5
|
Increase changes count limit to 2000
|
2017-02-24 14:58:47 +01:00 |
|
James Allen
|
80284e1b01
|
Only cancel deletes with inserts on undo and reject
|
2017-02-24 14:21:06 +01:00 |
|
James Allen
|
0420929e2a
|
Reduce the data logged when updating ranges
|
2017-02-23 13:57:47 +01:00 |
|
James Allen
|
e1481df76a
|
Don't consume partial parts of delete when inserting a change
|
2017-02-23 11:39:19 +01:00 |
|
James Allen
|
d6b5cc6389
|
Increase changes limit to 1200
|
2017-02-22 18:11:55 +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
|
8d1b11f37a
|
Merge branch 'bg-verify-writes-II'
|
2017-02-21 16:03:48 +00:00 |
|
Brian Gough
|
5eb339e525
|
fix utf8 encoding in sha1 hash
|
2017-02-21 16:03:06 +00:00 |
|
Brian Gough
|
6b808522dc
|
Merge pull request #18 from sharelatex/bg-verify-writes
merge redis hash check
|
2017-02-20 15:55:19 +00:00 |
|
Brian Gough
|
590f8e7ced
|
Merge pull request #15 from sharelatex/bg-verify-writes
store sha1 hash of docLines in redis
|
2017-02-20 15:53:56 +00:00 |
|
Brian Gough
|
c57d3ce31c
|
compute hash on write in redis server
|
2017-02-20 14:09:09 +00:00 |
|
James Allen
|
660752dfa6
|
Increase change limit to 1000
|
2017-02-17 15:32:44 +01:00 |
|
James Allen
|
89537927b5
|
Update Ranges Tracker
|
2017-02-17 09:24:19 +01:00 |
|
James Allen
|
de7f760ea4
|
Update Ranges Tracker
|
2017-02-16 17:09:08 +01: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
|
8725aeab03
|
Allow deleting of comment ranges
|
2017-01-24 15:57:11 +01:00 |
|
James Allen
|
dc976fd9e9
|
Use thread id for comment id
|
2017-01-23 09:45:46 +01:00 |
|
James Allen
|
0705242a55
|
Increase max op age to 80
|
2017-01-17 11:45:10 +01:00 |
|
James Allen
|
0706feb26b
|
Add max limit on number of comments and changes per doc
|
2017-01-10 16:58:11 +01:00 |
|
James Allen
|
a3d5971d54
|
Update RangesTRacker
|
2017-01-10 11:59:09 +01:00 |
|
James Allen
|
540d0f7ec7
|
Make sure comment ids are unique
|
2017-01-10 11:55:38 +01:00 |
|
James Allen
|
be19532a1d
|
Add HTTP end point for accepting changes
|
2017-01-09 14:41:18 +01:00 |
|
James Allen
|
593e7260d4
|
Update RangesTracker
|
2017-01-09 10:52:06 +01:00 |
|
James Allen
|
7cac2f7d76
|
Generate deterministic range ids based on seed
|
2017-01-09 10:46:58 +01:00 |
|
James Allen
|
2c7029cc50
|
Revert "Support a {dr:...} op for deleting ranges"
This reverts commit 24c58e5ad430e0240533cc1e5c21122859fe8dc9.
|
2017-01-09 09:24:19 +01:00 |
|
James Allen
|
0f13cb3aa7
|
Support a {dr:...} op for deleting ranges
|
2017-01-06 16:58:51 +01:00 |
|
James Allen
|
59a06cd798
|
Accept comments with thread id as an op type
|
2016-12-13 15:51:47 +00:00 |
|
James Allen
|
47b19818ff
|
Add in new comment op type
|
2016-12-12 17:53:43 +00:00 |
|
James Allen
|
e3fee1a1d1
|
Rename 'track changes entries' -> 'ranges'
|
2016-12-08 12:31:43 +00:00 |
|
James Allen
|
3ea2e07993
|
Add tests for fetching and flushing track changes entries to persistence layer
|
2016-12-02 12:01:23 +00:00 |
|
James Allen
|
418405e8b9
|
Return track changes entries in HTTP request
|
2016-12-02 11:37:27 +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
|
889f5fdf9f
|
Fix ShareJsDB tests
|
2016-12-01 17:14:40 +00:00 |
|
James Allen
|
9ee913be39
|
Update PersistenceManagerTests
|
2016-12-01 16:40:15 +00:00 |
|
James Allen
|
d36f1a86f1
|
Merge branch 'master' into ja-track-changes
Conflicts:
app/coffee/PersistenceManager.coffee
|
2016-12-01 16:06:13 +00:00 |
|
James Allen
|
efab68e6b2
|
Add in guards on bad data from web API
|
2016-11-29 17:13:16 +00:00 |
|
James Allen
|
2852043a6d
|
Don't store doc version in Mongo directly, instead use docstore
|
2016-11-29 17:06:23 +00:00 |
|
James Allen
|
e739e86c48
|
Get basic ChangeTracker hooked up. WIP
|
2016-11-28 10:14:42 +00:00 |
|
James Allen
|
5ce15c4d60
|
Move check of zero length op array up a level
|
2016-09-12 10:37:41 +01:00 |
|
James Allen
|
993aab7a78
|
Don't try to redis rpush with no arguments
|
2016-09-12 10:37:32 +01:00 |
|
James Allen
|
6ca48523d9
|
mapSeries -> eachSeries
|
2016-09-09 15:28:27 +01:00 |
|
James Allen
|
2d82d56f93
|
Process updates one at a time and write into redis after each one
|
2016-09-09 11:01:14 +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
|
a1bac9719a
|
Update secondary timeout for multi commands too
|
2016-07-12 11:45:10 +01:00 |
|
James Allen
|
d0c54f1be6
|
Increase secondary timeout to 600ms
|
2016-07-12 11:11:55 +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
|
6bc78ccf77
|
Add in some null checks on comparing backend results
|
2016-07-07 11:24:33 +01:00 |
|
James Allen
|
1c62a1c5a1
|
Don't propagate error on secondary timeout
|
2016-07-07 09:46:15 +01:00 |
|
James Allen
|
edf1e1ab49
|
Initialize primaryResult to an array, not null
|
2016-07-06 15:02:05 +01:00 |
|
James Allen
|
59883023ca
|
Ignore different order of results from smembers
|
2016-07-06 14:24:27 +01:00 |
|
James Allen
|
89f90c1b04
|
Timeout secondary requests if they take longer than 200ms
|
2016-07-06 12:25:36 +01:00 |
|
James Allen
|
508a95c19b
|
Use the main redis instance for locks
|
2016-07-06 11:50:02 +01:00 |
|
James Allen
|
e912ccc562
|
Wait for both backends to return so that they are always in sync
|
2016-07-05 16:07:47 +01:00 |
|
James Allen
|
dfd45bd23c
|
Add timers to time how long each redis request takes
|
2016-07-04 11:14:23 +01:00 |
|
James Allen
|
149351aa49
|
Remove debugging log lines
|
2016-06-29 21:18:13 +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
|
dbe03e2757
|
Track metrics of when backends match or disagree
|
2016-06-28 16:49:15 +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
|
39d920682a
|
Only pass through keys to redis that are explicitly set in the config
|
2016-06-17 14:11:22 +01:00 |
|
James Allen
|
40b7da8edb
|
Support endpoints and masterName in redis config
|
2016-06-17 14:05:54 +01:00 |
|
James Allen
|
bc00aab7b1
|
Explicitly separate calls to web and docupdater redis instances
|
2016-06-17 12:17:22 +01:00 |
|
James Allen
|
9ff3026807
|
Merge branch 'master' into ja_redis_cluster
|
2016-06-09 10:00:58 +01:00 |
|
James Allen
|
48a92b28e5
|
Don't run redis commands in parallel for easier consistency reasoning
|
2016-06-09 09:54:13 +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
|
c6605ed5f0
|
Fix misapplied arguments to multi commands
|
2016-06-08 16:41:58 +01:00 |
|
James Allen
|
b4936f62af
|
Check that return values from different redis backends match
|
2016-06-08 12:18:37 +01:00 |
|
James Allen
|
ef43e2b325
|
Configure backend database as redis cluster
|
2016-06-07 18:38:32 +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 |
|