ansuz
964aa2bb79
validate custom limits provided via config at launch
2020-10-08 19:07:00 +05:30
ansuz
f4f803ccd9
reuse Keys.canonicalize to accept any pubkey format
2020-10-08 19:07:00 +05:30
ansuz
914139dbfa
lint compliance
2020-10-08 19:07:00 +05:30
yflory
51e1b9b043
Fix custom limit not applied when using a raw edPublic
2020-10-08 19:07:00 +05:30
ansuz
145386e944
suppress an inconsequential error
2020-10-08 19:07:00 +05:30
ansuz
aa35e092f7
update an inaccurate comment
2020-10-08 19:07:00 +05:30
ansuz
928b7e3583
implement GET_LIMITS admin rpc
...
...and label stored usage limits according to their source
2020-10-08 19:07:00 +05:30
ansuz
5029281a53
implement RM_QUOTA decree
2020-10-08 19:07:00 +05:30
ansuz
af47b2cab1
implement ADD_QUOTA admin decree
2020-10-08 19:07:00 +05:30
ansuz
998f2267c4
ensure the path to the decree file exists before attempting to write to it
2020-10-08 19:07:00 +05:30
ansuz
c2918ac888
fix inverted conditional
2020-10-08 19:07:00 +05:30
ansuz
b62d4387a6
drop support for SET_DEFAULT_STORAGE_LIMIT
...
it's redundant now that we support persistent admin decrees
and it was never exposed via the UI anyway
2020-10-08 19:07:00 +05:30
ansuz
0c5db31fbc
refactor quota logic for external usage
2020-10-08 19:07:00 +05:30
ansuz
bd6234c5bc
lint compliance and some notes
2020-10-08 19:07:00 +05:30
ansuz
1781ee2585
implement 'UPDATE_DEFAULT_STORAGE' as a decree
2020-10-08 19:07:00 +05:30
ansuz
7aa7d5978f
implement persistence of config changes from admin panel
2020-10-08 19:07:00 +05:30
ansuz
fcfcb3dca6
fix history trim for channels with access lists
2020-10-07 18:44:24 +05:30
ansuz
d509fd8b8f
downgrade severity of several XXX notes
2020-10-07 17:09:46 +05:30
ansuz
1ba080739b
Merge branch 'X' into staging
2020-10-07 16:28:08 +05:30
ansuz
cfcfe2f65f
enable APIs for XLSX export in firefox
2020-10-07 14:47:43 +05:30
yflory
e698241ee9
Merge branch 'historyOO' into staging
2020-10-05 16:41:23 +02:00
ansuz
04d1bc9cd7
archive inactive data in one of the server's workers
2020-09-30 14:45:52 +05:30
ansuz
6ada5fd751
always consider premium accounts to be active
2020-09-29 18:48:23 +05:30
ansuz
5358fab615
more WIP inactive account eviction
2020-09-29 18:04:51 +05:30
ansuz
a9b95865ba
Merge branch 'staging' into inactive-accounts
2020-09-28 17:56:30 +05:30
ansuz
d9219f4ecc
add a note for later
2020-09-25 14:27:22 +05:30
ansuz
5749b6fd7b
add an admin RPC to archive documents
2020-09-25 14:24:26 +05:30
ansuz
d794e0b48f
include inactive accounts in the archival script
2020-09-24 19:02:22 +05:30
yflory
25606b92bf
lint compliance
2020-09-22 15:27:16 +02:00
yflory
4f147d4fd2
Add support for onlyoffice history
2020-09-18 17:54:57 +02:00
yflory
b31707098a
Improve getHistoryRange to support 'toHash'
2020-09-18 12:42:09 +02:00
ansuz
95778cc7c9
respond with ENOENT instead of E_NO_OWNERS when archiving a file that does not exist
2020-07-23 09:30:04 -04:00
ansuz
b04133e6c3
remove some dead code
2020-07-23 09:28:00 -04:00
ansuz
a21c3372c0
avoid a potential type error
2020-07-23 09:27:29 -04:00
yflory
04af753a81
lint compliance
2020-07-01 12:10:12 +02:00
ansuz
03be102ce4
deduplicate some code by reusing the client definition on the server
2020-06-30 14:33:00 -04:00
ansuz
ebcc9a069b
add server-side support for the new format of public signing keys
2020-06-25 13:14:26 -04:00
ansuz
48deced859
fix serverside index corruption
2020-06-16 04:08:03 -04:00
ansuz
5b2929a6fc
suppress some useless info from some commonly logged errors
2020-05-06 13:50:48 -04:00
ansuz
9f1f01f3b4
disable worker task queueing and address a probable memory leak
2020-05-05 18:06:28 -04:00
ansuz
b0af6b5488
fix an incorrect condition when checking for available server workers
...
Also, log when the RPC queue has a backlog and when it is drained
2020-05-05 10:53:42 -04:00
ansuz
4037270a23
add a FIXME note for a sketchy implementation in history keeper
2020-05-04 15:46:08 -04:00
ansuz
02347d134a
queue signature validation per-channel to ensure correct ordering
2020-04-30 18:18:05 -04:00
ansuz
9975c27e84
increase timeout from one minute to three and decrease the number of parallel jobs per worker
2020-04-29 17:24:38 -04:00
ansuz
488f876ad6
lint compliance
2020-04-29 17:23:29 -04:00
ansuz
d35b015c3f
log some info on successful file uploads
2020-04-28 17:12:03 -04:00
ansuz
37d3995ac1
unify format of console output with stored logs
2020-04-28 17:05:15 -04:00
ansuz
8a5d012edf
add special error handling for a few special serverside errors
2020-04-28 16:57:52 -04:00
ansuz
8bee95d13d
improve error reporting in GET_HISTORY
2020-04-28 16:56:11 -04:00
ansuz
e05891184e
fix regression in maxWorkers
2020-04-21 12:23:48 -04:00
ansuz
b56c73be6e
delegate more work from getOlderHistory to the worker
2020-04-17 17:01:47 -04:00
ansuz
fd169ff39c
close streams after 2 minutes instead of 5
...
Hopefully this helps to even out our memory and CPU usage.
There's also some improved labels so that IF streams time out
we will know the exact origin of the offending call.
2020-04-17 15:05:48 -04:00
ansuz
bac8ef3c6e
lint compliance
2020-04-17 11:43:54 -04:00
ansuz
4e57e390da
write tasks inside of workers
2020-04-16 16:37:24 -04:00
ansuz
ba6faca02e
make the number of workers configurable
2020-04-16 13:53:45 -04:00
ansuz
0465f31a45
add a FIXME note
2020-04-16 13:02:27 -04:00
ansuz
04ab7f538a
recover from worker faults and unify worker types
2020-04-16 13:02:07 -04:00
ansuz
e0a6852b79
correctly serialize an error log
2020-04-16 10:45:18 -04:00
ansuz
9ed82640bf
Merge branch 'worker-queue' into staging
2020-04-15 19:32:42 -04:00
ansuz
e8b1fcf710
solve some cases where crashing workers could result in an invalid state for the queue
2020-04-15 13:59:54 -04:00
ansuz
9ed26cfeb0
lint compliance
2020-04-15 12:40:18 -04:00
ansuz
dc0460780f
Merge branch 'soon' into staging
2020-04-15 09:44:30 -04:00
ansuz
74567e0cf4
return process memory usage in GET CACHE STATS RPC
2020-04-14 15:53:58 -04:00
Martin Alexander Neumann
e3f42cbc20
Allow config.defaultStorageLimit to be zero bytes
2020-04-11 20:46:09 +02:00
ansuz
89262cd29e
resolve silly conflict and merge staging
2020-04-09 16:35:24 -04:00
ansuz
e527867e2e
queue blob and channel deletions per-user
2020-04-09 16:29:52 -04:00
ansuz
bd3e18d1a8
only cache a user's pinned channels if there are no errors when loading them
2020-04-08 12:08:26 -04:00
ansuz
bef18a9320
hotfix
2020-04-08 10:28:26 -04:00
ansuz
7fac997e93
increase some file storage timeouts related to streams
2020-04-08 09:38:48 -04:00
ansuz
95965c1dee
keep a parallel implementation of the pin loader to validate the new one
2020-04-07 20:03:41 -04:00
ansuz
a57bf94058
remove XXX note
2020-04-06 11:31:31 -04:00
ansuz
c53675c9d5
WIP worker rpc call queue
2020-04-06 10:28:26 -04:00
ansuz
d802173325
remove an invalid line
2020-04-06 10:18:11 -04:00
ansuz
2b3f6e3464
Merge branch 'soon' into staging
2020-04-03 10:49:51 -04:00
ansuz
adfd1eaaa2
avoid a silly typeError in the event of an error
2020-04-02 22:57:57 -04:00
yflory
32406a5995
Merge branch 'master' into staging
2020-04-02 10:23:09 +02:00
ansuz
834c96a4fc
update comments and remove some notes
2020-04-01 17:43:40 -04:00
ansuz
ed5d97f899
WIP history-keeper fixes
2020-04-01 11:48:16 -04:00
ansuz
eddbe80eef
Merge branch 'soon' into staging
2020-03-30 18:30:34 -04:00
ansuz
3d8e78a268
fix overly broad config interpretation for daily check
2020-03-30 18:27:14 -04:00
ansuz
e6ec891d9a
improve admin rpc for diagnosing memory used by the cache
2020-03-30 18:26:04 -04:00
ansuz
77961e3954
trim lookup tables for channels without checkpoints
2020-03-30 18:03:37 -04:00
ansuz
db9eaa8d4f
Merge branch 'soon' into staging
2020-03-27 19:59:45 -04:00
ansuz
6d0dee979a
allow admins to inspect index/metadata caches
2020-03-27 19:59:26 -04:00
ansuz
cbd3547814
remove log statements
2020-03-27 17:20:57 -04:00
ansuz
9058a59555
reassign db tasks if the responsible worker fails
2020-03-27 17:17:42 -04:00
ansuz
172823c954
lint compliance
2020-03-27 16:59:41 -04:00
ansuz
b5649707d1
export 'tryParse' command
2020-03-27 15:36:34 -04:00
ansuz
64b0879984
improve logging for parse errors
2020-03-27 15:15:54 -04:00
ansuz
3f86b6141e
rename worker processes
2020-03-27 15:14:45 -04:00
ansuz
d8a88cb4ca
run expiration tasks in a worker instead of the main process
2020-03-27 14:38:58 -04:00
ansuz
b0179eaad9
drop XXX note
2020-03-27 14:25:07 -04:00
ansuz
9dbd32758a
improve worker logging and move blob deletion to worker processes as well
2020-03-27 13:38:27 -04:00
ansuz
5f69fc18d0
suppress some noisy errors
2020-03-26 17:11:43 -04:00
ansuz
5f2d7c8dcf
increase worker rpc wait time before timeout
2020-03-26 15:53:00 -04:00
ansuz
33e8e65507
handle errors in the server's workers
2020-03-26 15:13:20 -04:00
ansuz
a4c8039cc7
improve error handling with rpc response API
2020-03-26 14:45:24 -04:00
ansuz
cb53bd1c15
lint compliance
2020-03-26 14:44:37 -04:00
yflory
e15196bd53
Merge branch 'reconnect' into staging
2020-03-26 15:24:38 +01:00
ansuz
14feef1757
calculate pin list checksums in a worker
2020-03-25 18:37:42 -04:00
ansuz
70a0d4efb4
move more database reads into the database worker
2020-03-25 17:43:57 -04:00
ansuz
bc13a21796
give fileStreams a little bit more time before closing them
2020-03-25 11:50:45 -04:00
ansuz
4ba36a9173
load user pins in the database worker
2020-03-25 11:39:14 -04:00
ansuz
50e8893b24
move the 'getOlderHistory' call into the database worker
2020-03-25 10:54:29 -04:00
ansuz
471e374533
compute metadata in the same child process that builds indexes
2020-03-24 17:43:15 -04:00
ansuz
479b76f848
lint compliance
2020-03-24 17:40:07 -04:00
ansuz
c2fcba31e3
remove an XXX
2020-03-24 15:02:46 -04:00
ansuz
967ca6afa9
suppress ENOENT errors when checking empty chat channels
2020-03-24 15:02:26 -04:00
ansuz
40251948d4
check authenticated rpc signatures in separate threads
2020-03-24 14:31:40 -04:00
ansuz
0e09c73a60
Merge branch 'master' into soon
2020-03-24 13:32:42 -04:00
ansuz
a2facc4a0d
Merge pull request #513 from 7adietri/patch-1
...
Add shutdown() to non-disk logger
2020-03-24 13:32:13 -04:00
ansuz
e128683ffb
call back with errors instead of throwing within the Storage module
2020-03-24 13:31:03 -04:00
ansuz
1240f4a2a5
Merge branch 'master' into soon
2020-03-24 13:04:25 -04:00
ansuz
90899aa2f4
start reviewing and removing XXX notes
2020-03-24 13:03:49 -04:00
yflory
fe14399e67
Merge branch 'whiteboard' into soon
2020-03-24 16:15:13 +01:00
ansuz
2ef0af29e5
guard against index worker rpc responses for a txid with no supplied callback
2020-03-23 22:03:59 -04:00
ansuz
ee8d5c9c36
fix the premiumUploadSize validation to check the correct attribute
2020-03-23 16:13:48 -04:00
yflory
dc0b26da0b
Merge branch 'soon' into staging
2020-03-23 12:33:17 +01:00
Alexander
a190af079d
Add shutdown() to non-disk logger
...
The script `evict-inactive.js` calls `Log.shutdown()` at the end, which currently fails if logging to disk has been disabled via `logPath`.
2020-03-21 14:43:25 +01:00
ansuz
ed63d98ab0
Merge branch 'scaling-index' into soon
2020-03-20 18:57:51 -04:00
ansuz
590e249500
resolve merge conflict
2020-03-20 13:07:35 -04:00
ansuz
31c7cecaf9
add a few checks for safety
2020-03-20 10:54:01 -04:00
ansuz
cea9705bbe
Merge branch 'aggressive-stream-closing' into staging
2020-03-20 10:50:17 -04:00
ansuz
faa133aab8
remove an XXX
2020-03-20 10:22:48 -04:00
ansuz
d386e223e4
simplify open/close of writeStreams
2020-03-19 17:33:22 -04:00
ansuz
32cd0f3c4d
increase timeout value from 15s to 45. ought to be enough for anybody
2020-03-19 16:13:24 -04:00
ansuz
05a4e86cdb
close streams whenever we finish using them. time out if necessary
2020-03-19 16:11:24 -04:00
ansuz
4522ffa18a
compute indexes in child processes
2020-03-19 10:46:18 -04:00
ansuz
f8ad649b45
[style] bail out early to avoid nesting
2020-03-18 10:30:42 -04:00
ansuz
019e5e708b
wrap workers in a function scope and add a validateMessage method to HK's Env
2020-03-17 17:23:35 -04:00
ansuz
5467e1ffac
replace ad-hoc response handler with Util.response
2020-03-17 16:52:41 -04:00
ansuz
9e85a1411e
abstract the logic around worker choice out of message handling
2020-03-17 16:06:01 -04:00
ansuz
631ea54b49
lint compliance
2020-03-17 15:40:06 -04:00
ansuz
67dd4a608c
Merge remote-tracking branch 'origin/scaling' into scaling2
2020-03-17 15:36:58 -04:00
ansuz
b2fcde87d8
implement an admin command to update the default storage limit without a restart
2020-03-17 10:11:52 -04:00
yflory
923616aef0
Use each process in order instead of using a random one
2020-03-17 15:10:23 +01:00
ansuz
f345998956
fix undefined reference
2020-03-17 10:10:20 -04:00
yflory
fb0eb1b20c
Use more subprocesses
2020-03-17 14:18:41 +01:00
yflory
0d636dabc9
Check signature for history keeper in a different process
2020-03-17 13:29:53 +01:00
ansuz
30f17040ac
close streams when possible, simplify some code, enforce asynchrony
2020-03-16 16:13:38 -04:00
ansuz
2a9780abcf
lint compliance
2020-03-16 12:29:26 -04:00
yflory
578042154e
Better reconnect after invalid lastKnownHash
2020-03-13 17:39:16 +01:00
ansuz
2d47e7e2cf
implement an admin rpc to fetch ulimit data
2020-03-12 12:09:44 -04:00
ansuz
81c7416095
lint compliance
2020-03-12 11:40:46 -04:00
ansuz
f644c24362
add an admin-rpc to count the number of open files
2020-03-12 11:35:16 -04:00
ansuz
1230057970
disable IS_PAD_PINNED
2020-03-12 11:31:08 -04:00
ansuz
e1a0daac9c
possible server fixes
2020-03-12 11:23:43 -04:00
ansuz
bc034d95a3
enforce asynchrony in 'gethistoryOffset'
2020-03-12 11:13:23 -04:00
ansuz
d4038344ba
stop iterating over tasks if you can't read the root directory
2020-03-11 16:34:00 -04:00
ansuz
4e8ebac3c1
guard against the possible non-existence of metadata for a channel
2020-03-09 17:42:10 -04:00