aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver
Commit message (Collapse)AuthorAgeFilesLines
* rework lifetime management for oplogde/reduce-project-store-memoryDan Engelbrecht2025-08-284-232/+290
| | | | | unload inactive oplogs from memory during GC
* rework `--quiet` zenserver option add `--noconsole` option (#477)Dan Engelbrecht2025-08-265-38/+87
| | | | - Improvement: Changed zenserver `--quiet` option to suppress INFO level messages and below to surface startup and runtime errors - Feature: Added `--noconsole` option that suppresses all output to standard out, this works as the `--quiet` option used to work
* improve console output (#476)Dan Engelbrecht2025-08-262-3/+3
| | | | * add color coded logging level to console output (for warn/err/crit levels) * clean up console output
* revert multi-cid store (#475)Dan Engelbrecht2025-08-2610-509/+240
|
* Merge pull request #139 from ue-foundation/de/zen-service-commandLiam Mitchell2025-08-223-669/+21
|\ | | | | zen service command
| * Move windows service utilities to zenutil and fix clang-format errorsLiam Mitchell2025-08-223-666/+1
| |
| * Move ReportServiceStatus to zenutil and remove extraneous loggingLiam Mitchell2025-08-222-58/+0
| |
| * Merge remote-tracking branch 'origin/main' into de/zen-service-commandLiam Mitchell2025-08-2123-742/+1047
| |\
| * | Ignore unused variable warnings on platforms where ReportServiceStatus is ↵Liam Mitchell2025-08-211-0/+1
| | | | | | | | | | | | unimplemented
| * | Add pre-built systemd library and remove vcpkg dependencyLiam Mitchell2025-08-202-0/+10
| | |
| * | Merge branch 'main' into de/zen-service-commandLiam Mitchell2025-07-2945-849/+1799
| |\ \
| * \ \ Merge remote-tracking branch 'origin/main' into de/zen-service-commandDan Engelbrecht2025-03-1411-402/+247
| |\ \ \
| * \ \ \ Merge remote-tracking branch 'origin/de/zen-service-command' into ↵Dan Engelbrecht2025-03-143-8/+57
| |\ \ \ \ | | | | | | | | | | | | | | | | | | de/zen-service-command
| | * | | | Update Linux service type and add libsystemd dependencyLiam Mitchell2025-03-051-0/+4
| | | | | |
| | * | | | Initial implementation of service status reportingLiam Mitchell2025-03-043-8/+49
| | | | | |
| | * | | | Implementation of service commands for Linux.Liam Mitchell2025-02-271-0/+4
| | | | | |
| * | | | | Merge remote-tracking branch 'origin/main' into de/zen-service-commandDan Engelbrecht2025-01-2312-211/+197
| |\ \ \ \ \ | | |/ / / / | |/| | | |
| * | | | | Merge remote-tracking branch 'origin/main' into de/zen-service-commandDan Engelbrecht2025-01-1715-945/+35
| |\ \ \ \ \
| * | | | | | clang formatDan Engelbrecht2025-01-151-1/+4
| | | | | | |
| * | | | | | systemd unit file, incompleteDan Engelbrecht2025-01-151-0/+13
| | | | | | |
* | | | | | | oplog output improvements (#474)Dan Engelbrecht2025-08-225-32/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include session id in oplog import/export output * use Mbit/sec for transfer rates * fix elapsed time conversion in buildremotprojectstore * changelog
* | | | | | | clean up trace options parsing (#473)Dan Engelbrecht2025-08-228-49/+73
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | * clean up trace command line options explicitly shut down worker pools * some additional startup trace scopes
* | | | | | per namespace/project cas prep refactor (#470)Dan Engelbrecht2025-08-2012-344/+538
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Refactor so we can have more than one cas store for project store and cache. - Refactor `UpstreamCacheClient` so it is not tied to a specific CidStore - Refactor scrub to keep the GC interface ScrubStorage function separate from scrub accessor functions (renamed to Scrub). - Refactor storage size to keep GC interface StorageSize function separate from size accessor functions (renamed to TotalSize) - Refactor cache storage so `ZenCacheDiskLayer::CacheBucket` implements GcStorage interface rather than `ZenCacheNamespace`
* | | | | | zen print fixes/improvements (#469)Dan Engelbrecht2025-08-193-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Improvement: `zen print` now allows output of compact binary content even if they are in non-optimal format (Unifom vs Non-Uniform arrays and objects) - Feature: `zen print` now has a `--show-type-info` option to add type information to output of compact binary content - Bugfix: Stats information for Build Store (Zen Store Cache) no longer throws exception and outputs invalid state information
* | | | | | Ensure that FinalizeContainer finalizes both part and buildzousar2025-08-141-0/+31
| | | | | |
* | | | | | New frontend zip.Florent Devillechabrol2025-08-141-0/+0
| | | | | |
* | | | | | If the oplog has no packagestoreentry then show the raw json.Florent Devillechabrol2025-08-141-2/+5
| | | | | |
* | | | | | New frontend zip.Florent Devillechabrol2025-08-141-0/+0
| | | | | |
* | | | | | Do not skip oplog without package data.Florent Devillechabrol2025-08-142-36/+39
| | | | | |
* | | | | | add limitoverwrites option per bucket (#466)Dan Engelbrecht2025-08-123-11/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Feature: Added global zenserver option `--cache-bucket-limit-overwrites` controlling Whether to require policy flag pattern before allowing overwrites or not. Default `false` = overwrites always allowed - Feature: Add per bucket cache configuration option `limitoverwrites` (Lua options file only) cache = { bucket = { -- This is the default for all namespaces limitoverwrites = true }, buckets = { -- Here you can add matching per bucket name (matches accross namespaces) iostorecompression = { limitoverwrites = false }, }, }
* | | | | | use new builds api for oplogs (#464)Dan Engelbrecht2025-08-124-309/+295
| | | | | | | | | | | | | | | | | | | | | | | | - Improvement: Refactored jupiter oplog export code to reuse builds jupiter wrapper classes - Improvement: If `zen builds`, `zen oplog-import` or `zen oplog-import` command fails due to a http error, the return code for the program will be set to the error/status code
* | | | | | list build part content (#462)Dan Engelbrecht2025-08-115-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Feature: Added `zen build ls` option to list the content of a build part(s) - Build source is specified using one of the following options - `--cloud-url` cloud artifact URL to build - `--host` or `--override-host`, `--namespace`, `--bucket` and `--buildid` - `--filestorage`, `--namespace`, `--bucket` and `--buildid` - `--build-part-name` to specify a particular build part(s) in the build - `--wildcard` windows style wildcard (using * and ?) to match file paths to include - `--exclude-wildcard` windows style wildcard (using * and ?) to match file paths to exclude. Applied after --wildcard include filter - Improvement: Added `--quiet` option to zen `builds` commands to suppress non-essential output
* | | | | | Merge branch 'main' into zs/put-overwrite-policyZousar Shaker2025-08-083-20/+29
|\ \ \ \ \ \
| * | | | | | refactor blobstore (#458)Dan Engelbrecht2025-08-063-20/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Improvement: Refactored build store cache to use existing CidStore implementation instead of implementation specific blob storage - **CAUTION** This will clear any existing cache when updating as the manifest version and storage strategy has changed - Bugfix: BuildStorage cache return "true" for metadata existance for all blobs that had payloads regardless of actual existance for metadata
* | | | | | | Merge branch 'main' into zs/put-overwrite-policyzousar2025-08-051-6/+10
|\| | | | | |
| * | | | | | Set ready event when reusing an existing server instance. (#448)Martin Ridgers2025-08-041-6/+10
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | * Moved firing of child-id event into a lambda * Fire notify event to parent after attaching to an existing instance * Updated changelog
* | | | | | Merge branch 'main' into zs/put-overwrite-policyzousar2025-06-2447-1252/+2048
|\| | | | |
| * | | | | Surfaced basic z$ information to self-hosted dashboard (#441)Martin Ridgers2025-06-183-0/+124
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Namespaces are listed on the start page. - Namespaces can be dropped. - New page to show details of a namespace and list its buckets. - Buckets can be dropped.
| * | | | | graceful wait in parallelwork destructor (#438)Dan Engelbrecht2025-06-162-68/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exception safety when issuing ParallelWork * add asserts to Latch usage to catch usage errors * extended error messaging and recovery handling in ParallelWork destructor to help find issues
| * | | | | fix build store range check (#437)Dan Engelbrecht2025-06-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix range check for blob store fetch * don't try to parse blockdesriptions if empty result is returned * add range to log when fetching blob range fails
| * | | | | sentry config (#430)Dan Engelbrecht2025-06-124-37/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Feature: Added `--sentry-environment` to `zen` and `zenserver` - Feature: Added `--sentry-debug` to `zen` and `zenserver` - Feature: Added environment variable parsing for the following options: - `UE_ZEN_SENTRY_ENABLED`: `--no-sentry` (inverted) - `UE_ZEN_SENTRY_DEBUG`: `--sentry-debug` - `UE_ZEN_SENTRY_ALLOWPERSONALINFO`: `--sentry-allow-personal-info` - `UE_ZEN_SENTRY_DSN`: `--sentry-dsn` - `UE_ZEN_SENTRY_ENVIRONMENT`: `--sentry-environment`
| * | | | | revert 61b4a88f and cadaad63Dan Engelbrecht2025-06-104-78/+37
| | | | | |
| * | | | | add sentry configurations options for debug/environmentDan Engelbrecht2025-06-104-37/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | add env-variable parsing for sentry option
| * | | | | `--sentry-dsn` option for zen command line and zenserver to control Sentry ↵Dan Engelbrecht2025-06-093-26/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | reporting endpoint (#427) moved sentry database path to temporary directory for zen commandline
| * | | | | missing chunks bugfix (#424)Dan Engelbrecht2025-06-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * make sure to close log file when resetting log * drop entries that refers to missing blocks * Don't scrub keys that has been rewritten * currectly count added bytes / m_TotalSize * fix negative sleep time in BlockStoreFile::Open() * be defensive when fetching log position * append to log files *after* we updated all state successfully * explicitly close stuff in destructors with exception catching * clean up empty size block store files
| * | | | | pause, resume and abort running builds cmd (#421)Dan Engelbrecht2025-06-052-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Feature: `zen builds pause`, `zen builds resume` and `zen builds abort` commands to control a running `zen builds` command - `--process-id` the process id to control, if omitted it tries to find a running process using the same executable as itself - Improvement: Process report now indicates if it is pausing or aborting
| * | | | | faster oplog validate (#408)Dan Engelbrecht2025-05-301-9/+16
| | | | | | | | | | | | | | | | | | Improvement: Faster oplog validate to reduce GC wall time and disk I/O pressure
| * | | | | handle exception with batch work (#401)Dan Engelbrecht2025-05-192-31/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * use ParallelWork in rpc playback * use ParallelWork in projectstore * use ParallelWork in buildstore * use ParallelWork in cachedisklayer * use ParallelWork in compactcas * use ParallelWork in filecas * don't set abort flag in ParallelWork destructor * add PrepareFileForScatteredWrite for temp files in httpclient * Use PrepareFileForScatteredWrite when stream-decompressing files * be more relaxed when deleting temp files * allow explicit zen-cache when using direct host url without resolving * fix lambda capture when writing loose chunks * no delay when attempting to remove temp files
| * | | | | keep snapshot on log delete fail (#391)Dan Engelbrecht2025-05-121-54/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Improvement: Cleaned up snapshot writing for CompactCAS/FileCas/Cache/Project stores - Improvement: Safer recovery when failing to delete log for CompactCAS/FileCas/Cache/Project stores - Improvement: Added log file reset when writing snapshot at startup for FileCas
| * | | | | enable per bucket config (#388)Dan Engelbrecht2025-05-123-14/+186
| | | | | | | | | | | | | | | | | | | | | | | | Feature: Add per bucket cache configuration (Lua options file only) Improvement: --cache-memlayer-sizethreshold is now deprecated and has a new name: --cache-bucket-memlayer-sizethreshold to line up with per cache bucket configuration