| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
| |
structured cache (#433)
Change "chunks" title to "count" for RPC chunk requests in stats page for structured cache
|
| | |
|
| |
|
|
|
| |
- 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
|
| |
|
|
|
| |
* 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)
|
| |
|
|
| |
* cache upstream stats improved
* fix exit for monitor thread
|
| |
|
| |
* do not allow exceptions to leak from Sentry error reporting or SentryAssertImpl::OnAssert
|
| |
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
| |
* add trace command to enable/disable tracing at runtime
* rework tracing init/start/stop
* changelog
|
| |
|
|
| |
Improvement: Background jobs now temporarily sets thread name to background job name while executing
Improvement: Background jobs tracks worker thread id used while executing
|
| |
|
| |
* Do controlled shutdown of zenserver catching any exception thrown during shutdown
|
| |
|
| |
currently, only Windows (using Projected File System) is supported
|
| |
|
|
| |
* increase jupiter oplog import/export connection timeout to 30 min
* changelog
|
| |
|
|
|
| |
* Add retry if FinalizeRef responds with non-empty "Needs" attachments
* better logging/progress report
* changelog
|
| |
|
|
| |
* handle errors in spdlog gracefully - try to report and avoid termination
* changelog
|
| |
|
|
|
| |
* add DiskWriteBlocker to structured cache store log writer
* changelog
|
| |
|
|
|
| |
* more trace scopes
* Make sure ReplayLogEntries uses the correct size for oplog buffer
* changelog
|
| |
|
|
|
| |
Cache: requestcount, badrequestcount, writes
Project Store: requestcount
Cid Store: cidhits, cidmisses, cidwrites
|
| |
|
|
| |
* Added `--http-threads`, `--httpsys-async-work-threads`, `--httpsys-enable-request-logging` and `--httpsys-enable-async-response` command line options to zenserver
* remove unused CreateHttpSysServer
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Feature: New http endpoint for background jobs `/admin/jobs/status` which will return a response listing the currently active background jobs and their status
- Feature: New http endpoint for background jobs information `/admin/jobs/status/{jobid}` which will return a response detailing status, pending messages and progress status
- GET will return a response detailing status, pending messages and progress status
- DELETE will mark the job for cancelling and return without waiting for completion
- If status returned is "Complete" or "Aborted" the jobid will be removed from the server and can not be queried again
- Feature: New zen command `jobs` to list, get info about and cancel background jobs
- If no options are given it will display a list of active background jobs
- `--jobid` accepts an id (returned from for example `oplog-export` with `--async`) and will return a response detailing status, pending messages and progress status for that job
- `--cancel` can be added when `--jobid` is given which will request zenserver to cancel the background job
- Feature: oplog import and export http rpc requests are now async operations that will run in the background
- Feature: `oplog-export` and `oplog-import` now reports progress to the console as work progress by default
- Feature: `oplog-export` and `oplog-import` can now be cancelled using Ctrl+C
- Feature: `oplog-export` and `oplog-import` has a new option `--async` which will only trigger the work and report a background job id back
|
| |
|
|
| |
* scan oplog object for fields
* Read all oplog entries but only read op data and get mapping for latest op of each key
|
| |
|
| |
* issue warning instead of assert on bad data in cid store
|
| |
|
| |
* Don't index out of string_view range when parsing URI in httpsys
|
| |
|
| |
this change also adds a GetNamespaces function which may be used to enumerate all currently known cache namespaces
|
| |
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
| |
* gracefully handle errors when writing cache log
* changelog
* fix log message
|
| |
|
| |
* add `cache-write-log` and `cache-access-log´ configuration options
|
| |
|
|
|
| |
- 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
|
| |
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
| |
* add retry logic when creating files
* only write disk usage log if disk writes are allowed
* changelog
|
| |
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
| |
- 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.
|
| |
|
|
| |
* 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
|
| | |
|
| |
|
|
| |
busy-looping looking for more work
|
| |
|
|
| |
* 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.
|
| |
|
|
|
| |
* Use robin-map in compactcas for 30% faster CasContainerStrategy::CollectGarbage
* use robin_set in ProjectStore::Oplog::GatherReferences and BlockStore::ReclaimSpace
* changelog
|
| | |
|
| |
|
|
|
| |
* add BasicFileBuffer for buffered read of BasicFile
* Use BasicFileBuffer when reading oplog
* changelog
|
| |
|
| |
* Make sure we close our trace session properly
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
| |
* 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`
|
| | |
|
| |
|
|
| |
* rework cache store background jogging
* correct capture for context
|
| |
|
|
|
| |
* Skip upstream logic early if we have not upstream endpoints
* make cache store logging of CbObjects async
* changelog
|
| |
|
|
|
|
|
| |
* add basic stats for project store
* stats for BadRequest in ProjectStore::Rpc
* changelog
* group stats
fix ChunkWriteCount when accepting ops
|
| |
|
|
|
|
| |
* bump vcpkg version
* fmt lib 10 fixes
* xmake dependencies (with linux workarounds)
* changelog
|
| |
|
|
|
|
|
|
|
| |
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
* only hash jupiter ref once and keep that
* Increase request timeout when uploading to Jupiter to 2 min (to handle very large attachments)
* changelog
|
| |
|
|
| |
specified (#352)
|
| | |
|