aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* clean up name/description of up, attach, down and status commandsde/improve-status-commandDan Engelbrecht2024-09-183-8/+20
|
* cache generate command to create large data sets for testing (#159)Dan Engelbrecht2024-09-183-1/+236
| | | * add CacheGenerateCommand
* A clang-format passMartin Ridgers2024-09-171-1/+1
|
* Explicitly tell dbghelp.dll to look for PDBs alongside Zen's binariesMartin Ridgers2024-09-171-1/+3
|
* gc performance improvements (#160)Dan Engelbrecht2024-09-177-110/+145
| | | | | | | | | | * optimized ValidateCbUInt * optimized iohash comparision * replace unordered set/map with tsl/robin set/map in blockstore * increase max buffer size when writing cache bucket sidecar * only store meta data for files < 4Gb * faster ReadAttachmentsFromMetaData * remove memcpy call in BlockStoreDiskLocation * only write cache bucket state to disk if GC deleted anything
* fix oplog state check and wiping (#154)Dan Engelbrecht2024-09-111-2/+17
| | | | | fix oplog state check fix wipe of oplog storage + meta only on invalid oplog handle vanishing oplog during gc
* oplog cmd improvements (#152)Dan Engelbrecht2024-09-113-205/+343
| | | | | | - Improvement: Removed redundant commands `project-delete` and `oplog-delete`. Use already existing `project-drop` instead. - Improvement: zen oplog commands `project-drop`, `project-info`, `oplog-create`, `oplog-import`, `oplog-mirror` can now help resolve partial project and oplog identifiers - Improvement: zen `oplog-mirror` command now has new filter options to control which files are realized to disk: `--key` for op key, `--file` for file path matching and `--chunk` for chunk id matching - Improvement: `project-drop` command defaults to `--dry-run=true` and will only delete the target if `--dry-run=false` is added to the command line to avoid accidental delete
* validate oplog before opening - if invalid, warn and wipe oplog (#153)Dan Engelbrecht2024-09-101-2/+12
|
* trace scopes improvementsDan Engelbrecht2024-09-103-9/+11
|
* don't add batch overhead if we are only going to put one cache valueDan Engelbrecht2024-09-101-5/+19
|
* only add mem cached items to list to fill metadata if we don't have metadata ↵Dan Engelbrecht2024-09-101-40/+39
| | | | (#151)
* fix race condition in zenserver during batched fetch (#149)Dan Engelbrecht2024-09-091-1/+92
| | | * fix race condition in zenserver duing batched fetch
* cleanup oplog logging (#147)Dan Engelbrecht2024-09-051-9/+29
| | | * clean up logging
* fix oplog index snapshot reading (#146)Dan Engelbrecht2024-09-051-5/+29
| | | * fixed parsing and added extra validation of oplog index snapshot
* fix oplog instance leak in project store gc (#145)Dan Engelbrecht2024-09-051-3/+7
|
* clean cache slog files on startup (#143)Dan Engelbrecht2024-09-043-22/+45
| | | | - Bugfix: If we fail to move a temporary file into place, try to re-open the file so we clean it up - Improvement: Clean up cache bucket log files at startup as we store the matching information in the index snapshot for the bucket
* move gc logs to gc logger (#142)Dan Engelbrecht2024-09-047-12/+86
| | | - Improvement: Move GC logging in callback functions into "gc" context
* delay oplog read (#141)Dan Engelbrecht2024-09-032-145/+213
| | | - Improvement: Don't keep all oplogs open after GC, close them when references are fetched unless they are open by client
* oplog index snapshots (#140)Dan Engelbrecht2024-09-036-207/+740
| | | - Feature: Added project store oplog index snapshots for faster opening of oplog - opening oplogs are roughly 10x faster
* meta info store (#75)Dan Engelbrecht2024-08-3013-63/+618
| | | | - Feature: Added option `--gc-cache-attachment-store` which caches referenced attachments in cache records on disk for faster GC - default is `false` - Feature: Added option `--gc-projectstore-attachment-store` which caches referenced attachments in project store oplogs on disk for faster GC - default is `false`
* zenserver process launch/termination improvements (#138)Dan Engelbrecht2024-08-278-131/+322
| | | | | | * zenserver process launch/termination improvements * fix GetPidStatus to return error code on Linux * fix linux FindProcess() * cleanup IsZombieProcess
* Make sure `noexcept` functions does not leak exceptions (#136)Dan Engelbrecht2024-08-233-169/+209
|
* don't call sentry_set_user twice (#135)Dan Engelbrecht2024-08-221-2/+3
| | | use a temp variable that lives longer to make sentry happy
* Add zenserver session id to Sentry context (#133)Dan Engelbrecht2024-08-222-3/+6
|
* separate worker pools into burst/background to avoid background jobs ↵Dan Engelbrecht2024-08-228-90/+76
| | | | blocking client requests (#134)
* safer calls to IsProcessRunning (#131)Dan Engelbrecht2024-08-222-16/+63
| | | * safer calls to IsProcessRunning to handle cases where we can't check status of processes
* if a zenserver is already using our named mutex - exit with error code ↵Dan Engelbrecht2024-08-222-7/+15
| | | | instead of reporting error to Sentry (#132)
* remove bad assert when payload is memcached but metadata is not set (#130)Dan Engelbrecht2024-08-221-1/+0
|
* handle "path not found" as well as "file not found" in directory travers on ↵Dan Engelbrecht2024-08-201-1/+1
| | | | windows (#129)
* close payload file if size mismatch for file cas (#128)Dan Engelbrecht2024-08-201-2/+2
|
* demote project store access time read fail to warning (#127)Dan Engelbrecht2024-08-201-1/+1
|
* don't throw exception if sidecar file is missing (#126)Dan Engelbrecht2024-08-191-1/+14
| | | | * Don't throw exception if sidecar file is missing. * Log reasons for rejecting sidecar file
* verify that project oplog dir exists before trying to iterate it (#123)Dan Engelbrecht2024-08-191-5/+11
|
* if disk space is low, set the last gc time to avoid spamming retries (#124)Dan Engelbrecht2024-08-191-0/+2
| | | * if disk space is low, set the last gc time to avoid spamming retries
* If we fail to get compression info for a partial request - log and report a ↵Dan Engelbrecht2024-08-191-6/+18
| | | | | miss (#122) * If we fail to get compression info for a partial request - log and report a miss
* fix oplog compact size logDan Engelbrecht2024-08-151-1/+1
|
* enable sentry on arm64 (#119)Stefan Boberg2024-08-152-7/+5
| | | * enable sentry on arm64
* prevent new block in gc (#118)Dan Engelbrecht2024-08-151-1/+1
| | | * make sure we don't reset write-pos for new block for each block iterated
* adds more information in log when oplog rename/delete fails (#117)Dan Engelbrecht2024-08-152-6/+29
| | | | | | * adds more information in log when oplog rename/delete fails * warn if we fail to delete dropped directory * close oplog storage file inside try/catch * don't try to flush closed files
* improved logging removing unimportant information (#116)Dan Engelbrecht2024-08-141-24/+33
|
* added `--detach` option to zenserver (#115)Stefan Boberg2024-08-144-5/+40
| | | | | added `--detach` option to zenserver. When this is passed in with a false value, we do not create a new process group in order to behave more as expected when running with `xmake run zenserver`. Without this change the zenserver process does not receive any signals and won't exit when xmake does, causing processes to linger in the background. The default behaviour (when run from UE) is unchanged.
* hardening and reduced spam from GC on failure (#112)Dan Engelbrecht2024-08-142-143/+232
| | | | * Retry writing GC state if it fails to handle transient problems * If GC operation fails demote errors to warnings on consecutive fails
* improve logging on main failure (#111)Dan Engelbrecht2024-08-148-34/+39
| | | | | | * add support for indenting callstack output * Explicitly catch option-parse error and reduce log spam on bad parameters * add command line to sentry error reports * log command line at startup
* don't try to memcache the empty buffer if invalid format (#110)Dan Engelbrecht2024-08-131-1/+3
|
* add compacting of oplogs as part of GC (#106)Dan Engelbrecht2024-08-124-123/+482
| | | | * add compacting of oplogs as part of GC * force retain of LSN unless we have less than 16 miln entries left
* Skip chunk in block stores when iterating a block if the location is out of ↵Dan Engelbrecht2024-08-121-2/+7
| | | | range (#109)
* project store chunk requests that are out of range will be treated as not ↵Dan Engelbrecht2024-08-121-0/+26
| | | | | | found (#108) * project store chunk requests that are out of range will be treaded as not found * add chunkid to log
* make oplog lsn unsigned (#107)Dan Engelbrecht2024-08-123-45/+34
| | | * change oplog lsn to uint32
* project/oplog delete improvements (#105)Dan Engelbrecht2024-08-123-53/+110
| | | | | * make oplog/project folder removeal more robust * report back error to http caller if removal fails
* fix compilation issue with recent VS toolchains (#103)Stefan Boberg2024-08-071-2/+2
|