Jakob Ackermann
4070b0ef6f
[misc] tests: fix a static test
...
`ProjectHistoryRedisManager.queueOps` is masked and can not push
changes into redis during the unittest.
Signed-off-by: Jakob Ackermann <das7pad@outlook.com>
2020-02-07 12:36:46 +01:00
Brian Gough
4f6583bbf2
fix getDocVersion and add tests
2019-11-25 13:28:36 +00:00
Brian Gough
dcd7649bad
filter track-changes updates for projects using project-history
2019-11-19 10:02:56 +00:00
Brian Gough
912a3a7753
remove redis server-side hashing for performance
...
we still compute the document hash in node, and check it on retrieval
but we don't check the hash at the point of writing it in redis which
was previously done with a redis Lua script.
2019-09-09 15:27:58 +01:00
Tim Alby
c1c23e4bee
record last author id on document flush
...
This is a multi-steps process:
* get a update's `user_id` from the metadata
* store the `user_id` (`lastUpdatedBy`) and current date (`lastUpdatedAt`) for
the document in Redis on every updates
* fetch `lastUpdatedAt` and `lastUpdatedBy` from Redis on document flush
* send the data to web to be persisted in Mongo
2019-05-02 11:10:02 +01:00
Hayden Faulds
62a10f25f2
move tk call to before sandboxed module call
2018-06-05 13:54:30 +01:00
Hayden Faulds
af92ca70a1
coerce projectHistoryId to integer after reading from Redis
2018-04-23 15:19:06 +01:00
Hayden Faulds
1b63141e49
Revert "Revert "Add projectHistoryId to updates""
2018-04-23 12:08:04 +01:00
Hayden Faulds
3cc20d6311
Revert "Add projectHistoryId to updates"
2018-04-23 11:41:29 +01:00
Hayden Faulds
25c0be4eaa
add projectHistryId to project structure updates
2018-04-13 15:22:05 +01:00
Hayden Faulds
fb1852a593
cache projectHistoryId with doc in Redis
2018-04-13 15:22:05 +01:00
Hayden Faulds
1226f96fc3
extract ProjectHistoryRedisManager
2018-03-09 15:36:38 +00:00
Hayden Faulds
a3420b1236
version entity additions
2017-11-10 14:54:56 +00:00
Hayden Faulds
7e86afe55e
version file renames
2017-11-08 09:20:38 +00:00
Hayden Faulds
6d571e6d23
version document renames
2017-11-08 09:20:37 +00:00
Hayden Faulds
d003aef31c
conditionally enqueue history updates for project
2017-10-23 15:32:25 +01:00
Hayden Faulds
c27df0bfef
split apart multi and rclient in tests
2017-10-23 14:24:23 +01:00
Hayden Faulds
cbdace7386
store pathname in Redis cache
2017-10-23 14:23:21 +01:00
Brian Gough
02d3d1bd17
fix unit tests
...
timekeeper must be called before SandboxedModule.require
2017-10-23 14:02:53 +01:00
Brian Gough
7c2a28c161
fix use of timekeeper in unit tests
2017-10-23 13:33:14 +01:00
Brian Gough
2bbbf3c005
add unflushed time to doc in redis
2017-10-06 12:34:28 +01:00
Brian Gough
f34c12fdc7
add endpoint to clear project state
2017-09-08 15:50:26 +01:00
Brian Gough
230c93766d
fix broken RedisManager unit test
2017-08-18 11:59:31 +01:00
Brian Gough
ca7d9dce85
fix unit tests
2017-08-08 09:40:39 +01:00
Brian Gough
963e513057
add a timeout for getPreviousDocOps
...
it uses several redis operations and this makes it prone to subsequent
timeouts if getDoc succeeds but is slow
2017-06-23 15:50:21 +01:00
Brian Gough
1ef258c878
add a timeout on the redis getDoc request
2017-06-07 11:34:42 +01:00
Brian Gough
729216c9b1
add unit tests for DocsIn check
2017-05-31 16:08:45 +01:00
Brian Gough
bed64d26c8
check if doc is missing from DocsIn set
2017-05-31 15:33:59 +01:00
Brian Gough
79d8fced49
make history update more atomic
2017-05-08 15:58:29 +01:00
James Allen
f21208e841
Use new redis-sharelatex instead of RedisBackend for cluster abstraction
2017-04-12 14:53:03 +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
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
62165ddeab
add unit tests
2017-02-20 15:33:19 +00:00
Brian Gough
c57d3ce31c
compute hash on write in redis server
2017-02-20 14:09:09 +00:00
Brian Gough
a3c127e469
added unit tests
2017-02-20 13:53:25 +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
d878dd5758
Fix RedisManagerTests
2016-12-01 16:49:53 +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
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