aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* refactor comapactcas index (#443)Dan Engelbrecht2023-10-045-22/+76
| | | | | - Bugfix: Fix scrub messing up payload and access time in disk cache bucket when compacting index - Improvement: Split up disk cache bucket index into hash lookup and payload array to improve performance - Improvement: Reserve space up front for compact binary output when saving cache bucket manifest to improve performance
* added CHANGELOG.md note for websocket removalStefan Boberg2023-10-041-0/+1
|
* README.md updateStefan Boberg2023-10-041-2/+2
|
* removed websocket protocol support(#445)Stefan Boberg2023-10-048-2008/+11
| | | removed websocket support since it is not used right now and is unlikely to be used in the future
* factored out http parser from asio into separate files (#444)Stefan Boberg2023-10-033-450/+495
| | | | factored out http request parsing from httpasio into separate files to enable code to be reused for different transports
* faster accesstime save restore (#439)Dan Engelbrecht2023-10-0310-279/+434
| | | | | | | | | | - Improvement: Reduce time a cache bucket is locked for write when flushing/garbage collecting - Change format for faster read/write and reduced size on disk - Don't lock index while writing manifest to disk - Skip garbage collect if we are currently in a Flush operation - BlockStore::Flush no longer terminates currently writing block - Garbage collect references to currently writing block but keep the block as new data may be added - Fix BlockStore::Prune used disk space calculation - Don't materialize data in filecas when we just need the size
* clean up date formatting (#440)Stefan Boberg2023-10-022-4/+5
| | | | * clean up date formatting (previous code would include a newline)
* fix formatting of gc start messagev0.2.26-pre0Dan Engelbrecht2023-10-021-1/+1
|
* 0.2.26-pre0Dan Engelbrecht2023-10-021-1/+1
|
* reduce time spent holding http.sys transaction lock (#437)Stefan Boberg2023-10-023-15/+27
| | | | | * changed where calls to IssueNewRequestMaybe are made to reduce per-transaction lock contention * minor: reduce stack frame for HttpSysTransaction::IoCompletionCallback
* Handle OOM and OOD more gracefully to not spam Sentry with error reports (#434)Dan Engelbrecht2023-10-0211-53/+263
| | | | | | - Improvement: Catch Out Of Memory and Out Of Disk exceptions and report back to reqeuster without reporting an error to Sentry - Improvement: If creating bucket fails when storing and item in the structured cache, log a warning and propagate error to requester without reporting an error to Sentry - Improvement: Make an explicit flush of the active block written to in blockstore flush - Improvement: Make sure cache and cas MakeIndexSnapshot does not throw exception on failure which would cause and abnormal termniation at exit
* Limit size of memory cache layer (#423)Dan Engelbrecht2023-10-028-91/+375
| | | | | | | | - Feature: Limit the size ZenCacheMemoryLayer may use - `--cache-memlayer-targetfootprint` option to set which size (in bytes) it should be limited to, zero to have it unbounded - `--cache-memlayer-maxage` option to set how long (in seconds) cache items should be kept in the memory cache Do more "standard" GC rather than clearing everything. Tries to purge memory on Get/Put on the fly if exceeding limit - not sure if we should have a polling thread instead of adding overhead to Get/Put (however light it may be).
* lightweight gc (#431)Dan Engelbrecht2023-10-0213-60/+208
| | | | | | - Feature: Add lightweight GC that only removes items from cache/project store without cleaning up data referenced in Cid store - Add `skipcid` parameter to http endpoint `admin/gc`, defaults to "false" - Add `--skipcid` option to `zen gc` command, defaults to false - Add `--gc-lightweight-interval-seconds` option to zenserver
* Sentry username fix (#435)Stefan Boberg2023-10-012-2/+3
| | | * fix trailing null in Sentry username (GetUserName returns the length including NUL terminator)
* Correctly calculate the total number of RPC ops in the stats page for ↵Dan Engelbrecht2023-09-292-2/+6
| | | | | structured cache (#433) Change "chunks" title to "count" for RPC chunk requests in stats page for structured cache
* 0.2.25v0.2.25Dan Engelbrecht2023-09-291-1/+1
|
* 0.2.25-pre0v0.2.25-pre0Dan Engelbrecht2023-09-291-1/+1
|
* added handle to http.sys error response logging (#432)Stefan Boberg2023-09-291-2/+3
| | | * added handle to http.sys error response logging
* move badrequest count back to old scope for compatability with Zen DashboardDan Engelbrecht2023-09-281-2/+1
|
* adding more stats (#429)Dan Engelbrecht2023-09-2817-72/+554
| | | | | - Feature: Add detailed stats on requests and data sizes on a per-bucket level, use parameter `cachestorestats=true` on the `/stats/z$` endpoint to enable - Feature: Add detailed stats on requests and data sizes on cidstore, use parameter `cidstorestats=true` on the `/stats/z$` endpoint to enable - Feature: Dashboard now accepts parameters in the URL which is passed on to the `/stats/z$` endpoint
* added more context to http response error message (#430)Stefan Boberg2023-09-282-10/+78
| | | when a http.sys request response API call fails, we now include more information including metadata about the contents of the reponse (i.e memory/file references including file names/size and chunk offsets/size) to help track down some odd error conditions seen in production
* prefer to handle cache RPC requests synchronously (#428)Stefan Boberg2023-09-274-8/+46
| | | | | * only handle RPC requests in a worker thread if we have an upstream. we may as well handle the request inline on the http_io thread if we're only dealing with local data since the response times should be pretty consistent in that case * http.sys: don't create async worker thread pool until it's needed (typically only if we have an upstream)
* chache upstream stats improved (#426)Dan Engelbrecht2023-09-272-10/+18
| | | | * cache upstream stats improved * fix exit for monitor thread
* flush block store blocks when finished (#425)Dan Engelbrecht2023-09-272-0/+4
| | | * flush block store block
* Merge branch 'main' of https://github.com/EpicGames/zenStefan Boberg2023-09-2646-209/+741
|\
| * 0.2.24v0.2.24Dan Engelbrecht2023-09-251-1/+1
| |
| * 0.2.24-pre1v0.2.24-pre1Dan Engelbrecht2023-09-251-1/+1
| |
| * handle error in error log (#422)Dan Engelbrecht2023-09-252-15/+47
| | | | | | * do not allow exceptions to leak from Sentry error reporting or SentryAssertImpl::OnAssert
| * corrected changelogDan Engelbrecht2023-09-251-2/+2
| |
| * 0.2.24-pre0v0.2.24-pre0Dan Engelbrecht2023-09-221-1/+1
| |
| * Add runtime status/control of logging (#419)Dan Engelbrecht2023-09-2212-29/+286
| | | | | | | | | | | | | | | | | | | | | | - Feature: New endpoint `/admin/logs` to query status of logging and log file locations and cache logging - `enablewritelog`=`true`/`false` parameter to control cache write logging - `enableaccesslog`=`true`/`false` parameter to control cache access logging - `loglevel` = `trace`/`debug`/`info`/`warning`/`error` - Feature: New zen command `logs` to query/control zen logging - No arguments gives status of logging and paths to log files - `--cache-write-log` `enable`/`disable` to control cache write logging - `--cache-access-log` `enable`/`disable` to control cache access logging - `--loglevel` `trace`/`debug`/`info`/`warning`/`error` to set debug level
| * added support for sln on Mac (#421)Stefan Boberg2023-09-222-4/+13
| | | | | | this makes it so users can use xmake sln on Mac as well as Windows to generate IDE files
| * added linker/compile options for determinism (#420)Stefan Boberg2023-09-221-2/+6
| |
| * added name to http.sys request queue (#417)Stefan Boberg2023-09-221-1/+33
| | | | | | | | | | | | * added name to http.sys request queue * changed so that rejected requests are answered with a 403 response instead of just dropping the connection
| * Collect all zen admin-related commands into admin.h/.cpp (#418)Dan Engelbrecht2023-09-2233-140/+117
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * move commands in scrub.h/cpp to admin_cmd.h/cpp * move job command into admin_cmd.h/.cpp * admin -> admin_cmd * bench -> bench_cmd * cache -> cache_cmd * copy -> copy_cmd * dedup -> dedup_cmd * hash -> hash_cmd * print -> print_cmd * projectstore -> projectstore_cmd * rpcreplay -> rpcreplay_cmd * serve -> serve_cmd * status -> status_cmd * top -> top_cmd * trace -> trace_cmd * up -> up_cmd * version -> version_cmd
| * add trace command to enable/disable tracing at runtime (#416)Dan Engelbrecht2023-09-228-38/+259
| | | | | | | | | | * add trace command to enable/disable tracing at runtime * rework tracing init/start/stop * changelog
* | sort commands for cleaner mergesStefan Boberg2023-09-261-2/+2
|/
* Improvement: Add names to background jobs for easier debugging (#412)Dan Engelbrecht2023-09-207-113/+179
| | | | Improvement: Background jobs now temporarily sets thread name to background job name while executing Improvement: Background jobs tracks worker thread id used while executing
* controlled zenserver shutdown (#413)Dan Engelbrecht2023-09-202-21/+37
| | | * Do controlled shutdown of zenserver catching any exception thrown during shutdown
* added info verb to vfs command help textStefan Boberg2023-09-201-1/+1
|
* VFS implementation for local storage service (#396)Stefan Boberg2023-09-2033-27/+2559
| | | currently, only Windows (using Projected File System) is supported
* changelog version bumpDan Engelbrecht2023-09-201-0/+2
|
* 0.2.23v0.2.23Dan Engelbrecht2023-09-191-1/+1
|
* 0.2.23-pre0v0.2.23-pre0Dan Engelbrecht2023-09-191-1/+1
|
* increase jupiter oplog import/export connection timeout to 30 min (#411)Dan Engelbrecht2023-09-192-1/+2
| | | | * increase jupiter oplog import/export connection timeout to 30 min * changelog
* Add retry if FinalizeRef responds with non-empty "Needs" attachments (#409)Dan Engelbrecht2023-09-196-261/+379
| | | | | * Add retry if FinalizeRef responds with non-empty "Needs" attachments * better logging/progress report * changelog
* handle errors in spdlog gracefully (#410)Dan Engelbrecht2023-09-192-0/+31
| | | | * handle errors in spdlog gracefully - try to report and avoid termination * changelog
* add DiskWriteBlocker to structured cache store log writer (#408)Dan Engelbrecht2023-09-154-32/+48
| | | | | * add DiskWriteBlocker to structured cache store log writer * changelog
* v0.2.22v0.2.22Dan Engelbrecht2023-09-151-1/+1
|
* 0.2.22-pre0v0.2.22-pre0Dan Engelbrecht2023-09-151-1/+1
|