aboutsummaryrefslogtreecommitdiff
path: root/src/zenserver
Commit message (Collapse)AuthorAgeFilesLines
* use robinmap in compact cas (#368)Dan Engelbrecht2023-08-211-4/+5
| | | | | * Use robin-map in compactcas for 30% faster CasContainerStrategy::CollectGarbage * use robin_set in ProjectStore::Oplog::GatherReferences and BlockStore::ReclaimSpace * changelog
* use atexit hook to shut down tracing (#369)Dan Engelbrecht2023-08-211-1/+9
|
* buffered file reading for oplog (#366)Dan Engelbrecht2023-08-211-5/+16
| | | | | * add BasicFileBuffer for buffered read of BasicFile * Use BasicFileBuffer when reading oplog * changelog
* fix trace close (#365)Dan Engelbrecht2023-08-211-0/+1
| | | * Make sure we close our trace session properly
* add update/delete endpoint for project and oplog (#353)Dan Engelbrecht2023-08-183-2/+135
| | | | | | | | | | | | | * add update endpoint for project store project * add update endpoint for oplog * changelog * Zen command line tool `project-update` Zen command line tool `project-delete` Zen command line tool `oplog-update` Zen command line tool `oplog-delete` * add --force-update option to project/oplog create remove project/oplog update commnad
* check oplog op attachments when gathering references for GC (#363)Dan Engelbrecht2023-08-182-27/+24
| | | | | * Make sure to check oplog op attachments when gathering references for GC * Add oplog op content to error result if attachment is missing when doing `oplog-export`
* Cache process handles for FormatPackageMessage (#360)Dan Engelbrecht2023-08-172-6/+15
|
* single thread async cache log (#361)Dan Engelbrecht2023-08-173-124/+149
| | | | * rework cache store background jogging * correct capture for context
* skip upstream logic early if we have no upstream endpoints (#359)Dan Engelbrecht2023-08-175-37/+85
| | | | | * Skip upstream logic early if we have not upstream endpoints * make cache store logging of CbObjects async * changelog
* project store stats (#357)Dan Engelbrecht2023-08-144-37/+197
| | | | | | | * add basic stats for project store * stats for BadRequest in ProjectStore::Rpc * changelog * group stats fix ChunkWriteCount when accepting ops
* update vcpkg dependencies (#356)Dan Engelbrecht2023-08-114-6/+12
| | | | | | * bump vcpkg version * fmt lib 10 fixes * xmake dependencies (with linux workarounds) * changelog
* Make sure we always write "data" attachment hash for snapshotted oplog ↵Dan Engelbrecht2023-08-114-9/+29
| | | | | | | | | entries (#355) * Make sure we always write "data" attachment hash for snapshotted oplog entries * Make sure to add chunk mappings for files moved to attatchment in snapshot operation * fix inverted timoute for expiration (we don't want time expiry in these cases) * increase timeout for jupiter oplog in project to 3 min * changelog
* Add `response.text` to output in log when jupiter request fails (#354)Dan Engelbrecht2023-08-103-36/+72
| | | | | | * Add `response.text` to output in log when jupiter request fails * only hash jupiter ref once and keep that * Increase request timeout when uploading to Jupiter to 2 min (to handle very large attachments) * changelog
* Allow oplog file mapping where ServerPath is missing if a attachment hash is ↵Dan Engelbrecht2023-08-101-4/+9
| | | | specified (#352)
* add extened info in log on all jupiter operation (#350)Dan Engelbrecht2023-08-091-7/+273
|
* Add `--assume-http2` option to cloud style import/export command to use a ↵Dan Engelbrecht2023-08-095-4/+15
| | | | HTTP/2 endpoint without without HTTP/1.1 upgrade (#347)
* use streaming read for PutCompressedBlob if source is single file (#338)Dan Engelbrecht2023-08-091-1/+18
| | | | * use streaming read for PutCompressedBlob if source is single file * changelog
* add more logging on jupiter fail (#345)Dan Engelbrecht2023-08-081-0/+124
| | | | * add more details in log if jupiter operations fail * changelog
* fix asserts and exceptions (#344)Dan Engelbrecht2023-08-083-3/+23
| | | | | | * Send proper error to caller of GetChunkInfo instead of assert * catch and handle exceptions when checking for state_marker * properly wait for background tasks if oplop-export fails * changelog
* add requested item in oplog remote op (#340)Dan Engelbrecht2023-08-013-53/+155
| | | * add more context for oplog import/export errors
* removed unnecessary cpr referenceStefan Boberg2023-06-301-4/+0
|
* clang-format :(Stefan Boberg2023-06-301-12/+12
|
* build fix for ZEN_WITH_TESTSStefan Boberg2023-06-301-1/+6
|
* file share support (#328)Stefan Boberg2023-06-163-38/+47
| | | | | | | | | | | | this change adds a serve command to the zen CLI. This can be used to establish links to a set of files which may be served to clients via the project store interface: ```cmd> zen serve Lyra/WindowsClient d:\temp_share\StagedBuilds\WindowsClient``` with the appropriate changes in UE you may then start an instance of the runtime and have it load all files via the remote file connection: ``` Lyra\Binaries\LyraClient.exe ../../../Lyra/Lyra.uproject -pak -basedir=D:\temp_share\StagedBuilds\WindowsClient/Lyra/Binaries/Win64 -Mount=Lyra/WindowsClient ```
* make sure to set error code to zero on successDan Engelbrecht2023-06-161-1/+1
|
* Improve resonse messages from jupiter upstream (#333)Dan Engelbrecht2023-06-152-210/+81
| | | | | | * Improve resonse messages from jupiter upstream changelog * simplify response parsing in jupiter upstream * changelog
* fix jupiter access token for oplog upload (#330)Dan Engelbrecht2023-06-121-1/+1
| | | | * make sure to prefix auth token correctly when provided with a raw token * changelog
* changed ZEN_ERROR to ZEN_WARN to reduce Sentry noiseStefan Boberg2023-06-081-3/+8
| | | | addresses ZEN-SERVER-W5. This should not be logged as an error since the failure is propagated to the client and the failure is typically due to invalid input
* added thread names to timer, upstream monitorStefan Boberg2023-06-072-1/+9
| | | | also altered http-asio thread naming scheme
* Increase retry logic (#325)Dan Engelbrecht2023-06-051-13/+19
| | | | * Increase timeout and number of retries in CacheBucket::PutStandaloneCacheValue when moving temporary file into place * changelog
* Enable front-end serving in release modeStefan Boberg2023-05-312-26/+40
| | | | Front-end can now be served from a development directory in release mode as well as debug if there's no zipfs attached
* fix for Linux/sentry build issueStefan Boberg2023-05-261-3/+0
|
* oplog snapshot (#317)Stefan Boberg2023-05-251-6/+154
| | | | | Added "snapshot" oplog RPC this may be used to bring referenced files into the local store instead of referencing them by filename, thus making the project/oplog transportable
* minor: refcount bump eliminationStefan Boberg2023-05-251-1/+1
|
* named oplog upload worker pool threadsStefan Boberg2023-05-251-1/+12
|
* minor: comment fixStefan Boberg2023-05-251-1/+1
|
* added defaults to remote project store option definitionsStefan Boberg2023-05-253-5/+6
|
* fix for random uint32 -> uint32_tStefan Boberg2023-05-251-1/+1
|
* block destructors from throwing exceptions (#321)Dan Engelbrecht2023-05-241-5/+5
| | | | | | * ~FileMapping() is not allowed to throw exceptions * ~ScopedActivityBase() should not call ZEN_ASSERT (which causes SIGABORT on error) * ProjectStore::Project::WriteAccessTimes() which is called from ProjectStore::~Project() must not throw exceptions * changelog
* cache log sessionid (#297)Stefan Boberg2023-05-236-169/+246
| | | | | | | | | | | * implemented structured cache logging to be used as audit trail to help analyse potential cache pollution/corruption * added common header to all known log targets * made Oid::operator bool explicit to avoid logging/text format mishaps * HttpClient::operator bool -> explicit * changed cache logs to not rotate on start in order to retain more history * added CacheRequestContext * properly initialize request context * log session id and request id on zencacehstore get/put * changelog
* minor: fixed typos in log output (PUTCACEHRECORD -> PUTCACHERECORD)Stefan Boberg2023-05-221-2/+2
|
* fixed bug where an oplog delete would not actually delete the oplogStefan Boberg2023-05-191-2/+9
| | | | this would manifest itself if an oplog delete was attempted right after zenserver startup, when the oplog has not yet been instantiated. This fix checks for on-disk state as well as in-memory
* fix for commented-out code which was never meant to be checked inStefan Boberg2023-05-171-6/+6
|
* project store refactor (#316)Stefan Boberg2023-05-175-1518/+1560
| | | moved HttpProjectService into own file to improve maintainability
* fix for redundant define checkStefan Boberg2023-05-171-5/+3
|
* Restructured structured cache store (#314)Stefan Boberg2023-05-1711-2811/+2884
| | | | This change separates out the disk and memory storage strategies into separate cpp/h files to improve maintainability.
* Content scrubbing (#271)Stefan Boberg2023-05-163-136/+309
| | | Added zen scrub command which may be triggered via the zen CLI helper. This traverses storage and validates contents either by content hash and/or by structure. If unexpected data is encountered it is invalidated.
* demote state_marker deletion detection to warningDan Engelbrecht2023-05-161-1/+1
|
* exit without SIGABRT if exception is thrown during startup (#313)Dan Engelbrecht2023-05-161-7/+41
| | | | | * Safeguard ZenServer::RequestExit() and ZenServer::Cleanup() when partially initialized * Set exit code to non-zero if exception is thrown in ZenEntryPoint::Run() * changelog
* Additional trace instrumentation (#312)Stefan Boberg2023-05-162-8/+54
| | | | | | | | | * added trace instrumentation to upstreamcache * added asio trace instrumentation * added trace annotations for project store * added trace annotations for BlockStore * added trace annotations for HttpClient * added trace annotations for CAS/GC