| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
| |
- Improvement: Refactor `IoHash::HashBuffer` and `BLAKE3::HashBuffer` to not use memory mapped files. Performs better and saves ~10% of oplog export time on CI
|
| |
|
|
| |
- Bugfix: Always pre-cache oplog when creating project store GCv2 referencer
- Bugfix: Correctly capture attachments imported with oplog to void them being GCd before oplog is written
|
| |
|
|
| |
* verify running process before creating event
* make sure we don't signal/wait for a zenserver instance that we did not wait for to get ready
|
| |
|
| |
- Improvement: Reworked GetChunkInfos in oplog store to reduce disk thrashing and improve performance
|
| | |
|
| |
|
| |
- Bugfix: Harden GCv2 when errors occur and gracefully abort GC operation on error
|
| |
|
| |
- Improvement: Bumped xmake to 2.9.1 and vcpkg version to 2024.03.25
|
| | |
|
| | |
|
| |
|
| |
- Change: GCv2 is now the default option, use `--gc-v2=false` to fall back to GCv1
|
| |
|
| |
- Improvement: Add batching when writing multiple small chunks to block store - decreases I/O load significantly on oplog import
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
* report down/up transfer speed during progress
* add disk buffering in http client
* offload block decoding and chunk writing form network worker pool threads
add block hash verification for blocks recevied at oplog import
* separate download-latch from write-latch to get more accurate download speed
* check headers when downloading with http client to go directly to file writing for large payloads
* we must clear write callback even if we only provide it as an argument to the Download() call
* make timeout optional in AddSponsorProcess
* check return codes when creating windows threadpool
|
| | |
|
| |
|
|
| |
* capture spawned server output and output on launch error
* fix logging and launch validation in tests
|
| |
|
|
| |
* reference cache gc update capture
* When importing oplogs we now import all attachments first and (optionally clean) write the oplog on success
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Feature: `zen down`
- --`data-dir` to specify a data directory to deduce which zen instance to bring down
- Feature: `zen attach`
- --`data-dir` to specify a data directory to deduce which zen instance to attach to222
- Feature: `zen status`
- --`port` filter running zen instances based on port
- --`data-dir` filter running zen instances based on information in the data directory
- Improvement: Trying to load a compact binary object from an empty file no longer causes access violation
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- Feature: `zen up` command improvements
- --`port` allows you to specify a base port when starting an instance
- --`base-dir` allows you to specify a base directory for the zenserver executable if it is not located next to the zen.exe executable
- Feature: `zen down`
- --`port` allows you to specify a base port when shutting down an instance
- --`base-dir` allows you to specify a base directory for the zenserver executable if it is not located next to the zen.exe executable
- --`force` if regular shutdown fails it tries to find a running zenserver.exe process and terminate it
- If it fails to attach to the running server it now waits for it to exit when setting the RequestExit shared memory flag
- Improvement: zenserver now checks the RequestExit flag in the shared memory and exist gracefully if it is set
- Improvement: When adding a sponsor process to a running zenserver instance, we wait for it to be picked up from the shared memory section to determine success/fail
|
| |
|
|
|
| |
- Bugfix: Correctly calculate size freed/data moved from blocks in GCv2
- Improvement: Reduced details in remote store stats for oplog export/import to user
- Improvement: Transfer speed for oplog export/import is now an overall number rather than average of speed per single request
|
| |
|
|
| |
* add validation of input buffer size when trying to parse package message
* avoid doing memcopy when parsing package message
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
* add remote oplog store statistics
* block chunking when uploading oplog to zenserver (mirroring)
* make sure we can move temporary dechunked file into cas store
|
| | |
|
| | |
|
| | |
|
| |\
| |
| | |
Zs/import oplog clean
|
| | | |
|
| | | |
|
| | | |
|
| |/ |
|
| | |
|
| | |
|
| |
|
|
| |
- Improvement: Add file and line to ASSERT exceptions
- Improvement: Catch call stack when throwing assert exceptions and log/output call stack at important places to provide more context to caller
|
| |
|
| |
* hardening of ParsePackageMessage and extended details when malformed attachments are detected
|
| |
|
| |
* Validate size of found chunks in cas/cache
|
| |
|
|
|
|
| |
- Bugfix: Fix log of Success/Failure for oplog import
- Improvement: Use HttpClient when doing oplog export/import with a zenserver as a remote target. Includes retry logic
- Improvement: Increase the retry count to 4 (5 attempts in total) when talking to Jupiter for oplog export/import
|
| |
|
| |
* refactor so we don't have to re-read data from source to get block sizes
|
| | |
|
| | |
|
| |
|
|
|
| |
characters (#32)
* Fix sentry using wrong folder path when data path contains non-ascii characters
|
| |
|
|
|
|
| |
`/prj/{project}/oplog/{log}/chunkinfos` and `/prj/{project}/oplog/{log}/files` (#30)
- Improvement: Use multithreading to fetch size/rawsize of entries in `/prj/{project}/oplog/{log}/chunkinfos` and `/prj/{project}/oplog/{log}/files`
- Improvement: Add `GetMediumWorkerPool()` in addition to `LargeWorkerPool()` and `SmallWorkerPool()`
|
| |
|
|
|
|
|
|
| |
- Improvement: It is now possible to control which fields to include in `/prj/{project}/oplog/{log}/chunkinfos` request by adding a comma delimited list of filed names for `fieldnames` parameter
- Default fields are: `id`, `rawhash` and `rawsize` (translates to `?fieldnames=id,rawhash,rawsize`)
- Use `?fieldnames=*` to get all the fields
- Improvement: It is now possible to control which fields to include in `/prj/{project}/oplog/{log}/files` request by adding a comma delimited list of filed names for `fieldnames` parameter
- Default fields are: `id`, `clientpath` and `serverpath` (translates to `?fieldnames=id,clientpath,serverpath`), `filter=client` only applies if `fieldnames` is not given as a parameter
- Use `?fieldnames=*` to get all the fields
|
| |
|
|
| |
source buffer (#28)
|
| |
|
|
| |
`/prj/{project}/oplog/{log}/chunkinfos` (#27)
|
| | |
|
| | |
|