aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* issue warning instead of assert on bad data in cid store (#400)Dan Engelbrecht2023-09-131-10/+14
| | | * issue warning instead of assert on bad data in cid store
* fix url parsing crash (#399)Dan Engelbrecht2023-09-131-1/+1
| | | * Don't index out of string_view range when parsing URI in httpsys
* minor: log fixStefan Boberg2023-09-131-1/+1
|
* Hash utility functions (#385)Stefan Boberg2023-09-133-0/+51
| | | | * added std::hash implementation for Guid and Oid types * Added CombineHashes implementation
* ZenCacheStore is now reference counted (#398)Stefan Boberg2023-09-134-9/+20
| | | this change also adds a GetNamespaces function which may be used to enumerate all currently known cache namespaces
* incremental oplog upload for block-based targets (#392)Dan Engelbrecht2023-09-1210-74/+258
| | | | | | | * add option for base container for oplog export read base oplog and fetch known blocks * reuse blocks if a known block has 80+ % usage * changelog * better logging and added base to remotestore descriptions
* Make sure error logging or destructors don't throw exception when trying to ↵Dan Engelbrecht2023-09-127-66/+125
| | | | | get file name from handle (#393) - Bugfix: Make sure error logging or destructors don't throw exception when trying to get file name from handle
* gracefully handle errors when writing cache log (#391)Dan Engelbrecht2023-09-111-29/+50
| | | | | | | * gracefully handle errors when writing cache log * changelog * fix log message
* add `cache-write-log` and `cache-access-log´ configuration options (#394)Dan Engelbrecht2023-09-114-10/+33
| | | * add `cache-write-log` and `cache-access-log´ configuration options
* better sorting of attachments in oplog blocks (#390)Dan Engelbrecht2023-09-111-13/+54
| | | | | - sort attachments based on (first) associated op - sort attachments based on key of op to get a more consistent order rather than order of ops written - keep attachments from same op in same block
* add console logging to zen command (#389)Dan Engelbrecht2023-09-083-5/+33
| | | | properly set trace log level if IsVerbose add log category to http client
* multithread file realization in oplog-mirror (#388)Dan Engelbrecht2023-09-083-458/+464
| | | | convert project store commands to use http client use MakeCbObjectPayload everywhere in project store commands
* Extend http client (#387)Dan Engelbrecht2023-09-085-93/+623
| | | * extend http client with configuration, headers, parameters and disk streaming upload/download
* stream oplog attachments from jupiter (#384)Dan Engelbrecht2023-09-0613-215/+297
| | | | | | | | | | * stream large downloads from jupiter to temporary file * rework DeleteOnClose - top level marks file for delete and if lower level parts wants to keep it it clears that flag * changelog * log number of attachments to download * add delay on jupiter request failure when retrying * make sure we upload all attachments even if Needs are empty when ForceUpload is true release TempAttachment as soon as it is used * sort attachments so we get predictable blocks for the same oplog
* retry file create (#383)Dan Engelbrecht2023-09-045-5/+73
| | | | | * add retry logic when creating files * only write disk usage log if disk writes are allowed * changelog
* add `--write-config` to zenserver options (#382)Dan Engelbrecht2023-09-014-11/+115
| | | | | | | | | | - Feature: `zen up` command has two new command line options - `--config <file_path>` tells zenserver to start with a specific config file - `--owner-pid <pid>` tells zenserver to start with a owning process id - Feature: `zen attach` command to add additional owning processes to a running zenserver instance - `--owner-pid <pid>` adds pid to running zenserver instance list of owning processes - Feature: `--write-config` command line option for zenserver - `--write-config <file_path>` path to a file which will contain a lua config file for zenserver combining all command line options and optional lua config files - Improvement: `zen up` command will check if zenserver is currently running before starting up a new instance
* lua config file improvements (#379)Dan Engelbrecht2023-08-312-300/+795
| | | | | | - Bugfix: All options given on command line now overrides lua config file settings - Improvement: All options available from command line can now be configured in the lua config file (with a few exceptions such as `owner-pid`, `install` and `uninstall`) We can now also generate a Lua config (just string so far) that includes all options given on command line together with any optional Lua input config file. The idea here is to be able to save config options in the future.
* project store gc deadlock (#381)Dan Engelbrecht2023-08-313-40/+57
| | | | * Trying to recursively take a shared RWLock while another thread is waiting for a exclusive lock results in a deadlock. Forward the shared lock so we don't have to grab it recursively. * changelog
* fix zen server state mac mmap (#380)Dan Engelbrecht2023-08-311-1/+1
| | | | * use MAP_SHARED when initializing read only access of shared memory * changelog
* add helper functions in HttpProjectService to help with readability (#378)Dan Engelbrecht2023-08-292-1195/+1326
|
* Minor: Make sure to reset cache logging worker thread event to avoid ↵Dan Engelbrecht2023-08-241-0/+1
| | | | busy-looping looking for more work
* Add `--embedloosefiles` option to `oplog-export` (#376)Dan Engelbrecht2023-08-245-73/+253
| | | | * Add `--embedloosefiles` option to `oplog-export` which adds loose files to the export, removing need to call `oplog-snapshot` * Retain `ServerPath` in oplog when performing `oplog-snapshot`. This is a short-term fix for current incompatability with the UE cooker.
* crash in process cache (#375)Dan Engelbrecht2023-08-231-36/+70
| | | | * - Bugfix: Fix OpenProcessCache state error causing assert/error * changelog
* safer gc on low disk (#373)Dan Engelbrecht2023-08-222-37/+46
| | | * - Improvement: Make sure we have disk space available to do GC and use reserve up front if need be
* Fix construction order in OpenProcessCache (#374)Dan Engelbrecht2023-08-221-1/+1
|
* make sure trace::ThreadRegister is inside ZEN_WITH_TRACEDan Engelbrecht2023-08-221-1/+2
|
* use better hash function for better distribution in IoBuffer g_MappingLocks ↵Dan Engelbrecht2023-08-211-1/+10
| | | | | | (#370) * use better hash function for better distribution in IoBuffer g_MappingLocks * changelog
* use robinmap in compact cas (#368)Dan Engelbrecht2023-08-214-14/+24
| | | | | * 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-213-5/+233
| | | | | * add BasicFileBuffer for buffered read of BasicFile * Use BasicFileBuffer when reading oplog * changelog
* oplog mirror support (#367)Stefan Boberg2023-08-215-1/+173
| | | | feature: added oplog-mirror command. this can be invoked to export oplog contents to corresponding files
* fix trace close (#365)Dan Engelbrecht2023-08-213-0/+8
| | | * Make sure we close our trace session properly
* Run clang tidy on modified filezousar2023-08-181-4/+4
|
* Reduce log level for RLIMIT messagezousar2023-08-181-1/+1
|
* add update/delete endpoint for project and oplog (#353)Dan Engelbrecht2023-08-186-10/+307
| | | | | | | | | | | | | * 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-177-137/+350
|
* 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-1113-17/+76
| | | | | | * 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-115-14/+38
| | | | | | | | | 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
|
* minor: set_group('libs') on zenutil for consistency with zencore etcStefan Boberg2023-08-091-0/+1
|
* Add `--assume-http2` option to cloud style import/export command to use a ↵Dan Engelbrecht2023-08-097-4/+37
| | | | HTTP/2 endpoint without without HTTP/1.1 upgrade (#347)
* handle exception in asio header parsing (#348)Dan Engelbrecht2023-08-091-50/+57
| | | | * make sure we return an error code instead of throwing exception if header parsing fails * changelog
* 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
* Bugfix: `oplog-import` with `--file` source now sends the oplog folder ↵Dan Engelbrecht2023-08-091-1/+1
| | | | correctly to zenserver (#346)