aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* unblock PreCache (#164)Dan Engelbrecht2024-09-203-7/+9
| | | Don't lock disk cache buckets from writing when scanning records for attachment references
* End was clamped to the wrong side if Count was defaultedMartin Ridgers2024-09-191-1/+1
|
* Reinstate member initialisation that was there originallyMartin Ridgers2024-09-191-2/+2
|
* Poorly cherry-pickMartin Ridgers2024-09-191-2/+2
|
* Surfaced oplog paging to HTTP handlerMartin Ridgers2024-09-191-3/+18
|
* clang-format on branch's changed filesMartin Ridgers2024-09-193-110/+119
|
* Mandatory IterateOplog() paging argumentMartin Ridgers2024-09-194-17/+14
|
* Removed redundant initialisationMartin Ridgers2024-09-191-2/+2
|
* A clang-format passMartin Ridgers2024-09-191-3/+3
|
* Appease Apple Clang's historical lack of std::span constructorsMartin Ridgers2024-09-191-6/+2
|
* Forgot there was a std::clampMartin Ridgers2024-09-191-7/+4
|
* Placate clangMartin Ridgers2024-09-192-6/+6
|
* Optional paged results when iterating oplog entriesMartin Ridgers2024-09-192-6/+28
|
* 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