Commit Graph

383 Commits (6cad2ace27fa213de3d560af79b8976cf05acc0e)

Author SHA1 Message Date
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
ansuz b32f3e34af fix local worker debugging on firefox 2020-03-06 11:43:34 -05:00
ansuz 6d8cdca7a3 add 'rejected' field to metadata when getMetadata requests are blocked 2020-03-05 12:09:18 -05:00
ansuz 9d8bb43d03 finally untangle metadata and index caches 2020-03-04 12:56:33 -05:00
ansuz 32d769447a begin standardizing our method of streaming lines from files 2020-03-04 11:38:14 -05:00
ansuz 35eca2c5d2 pull file streaming out into its own file, leave a few notes 2020-03-04 11:38:14 -05:00
ansuz ce6cf6f727 revert some changes that couldn't have possibly worked 2020-03-04 09:59:17 -05:00
ansuz b126e4456b simplify quota logic 2020-03-03 16:55:40 -05:00
ansuz 53ed247bc2 expose maxUploadSize and premiumUploadSize via /api/config 2020-03-03 16:47:44 -05:00
ansuz 170aa6d47e clean up a few tasks related to allow lists 2020-03-03 15:52:49 -05:00
ansuz 2f00ff3278 simplify check-in deactivation 2020-02-28 14:24:53 -05:00
ansuz 03ff9bd0d7 start deprecating usage of myDomain 2020-02-28 11:45:41 -05:00
ansuz de6b9e2228 apply some defaults when loading the config 2020-02-28 10:50:30 -05:00
ansuz 94d8e7f2c2 provide a consistent type for 'customLimits' 2020-02-28 10:49:20 -05:00
ansuz 3cf09924ae fix default CSP headers 2020-02-28 10:46:44 -05:00
ansuz 8d509fd6d5 Merge branch 'staging' into small-config 2020-02-27 15:25:39 -05:00
ansuz c26560e3f9 commit stashed admin-rpc refactor 2020-02-27 15:00:31 -05:00