| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |/
|
|
| |
should be replaced with a proper implementation later
|
| |
|
|
|
|
| |
* Don't output time to next GC if time is "infinite".
* Do immediate check of GC status on thread startup instead of waiting montior intervall first.
* set up reasonable gc defaults
* changelog
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Feature: zen command line tool `cache-info` to show cache, namespace or bucket info
- Feature: zen command line tool `project-info` to show store, project or oplog info
- Feature: zen command line tool `project-drop` to drop project or oplog
- Feature: zen command line tool `gc` to trigger a GC run
- Feature: zen command line tool `gc-info` to check status of GC
- Improvement: zen command line tool now fails on any unrecognized arguments
- Improvement: zen command line tool now displays extra help for all sub-commands
- Improvement: host address can now be configured for zen command line tool `drop` command
changelog
|
| |
|
|
|
|
|
| |
* Add GET requests on cache/namespace/bucket level
* Add root route for project store requests (same as /list)
* Add markerpath to oplog info object
* Add totalsize, opcount and expired to oplog info
* Changelog
|
| | |
|
| |
|
|
|
|
| |
* Fix log reading for structured cache store
Make sure cache is flushed at exit
* dont flush index to disk unless new entries have been written
* changelog
|
| |
|
|
|
|
|
|
| |
Adds check for marker file supplied by UE to see if an oplog is expired (user has deleted the corresponding cooked folder).
Fixed concurrency vulnerabilities is project store related to oplogs.
* fix concurrency vulnerabilities
* propagate lifetime file path
* oplog level gc
* changelog
|
| |
|
|
|
|
| |
UE side (#208)
removed all use of IoHash::FromBLAKE3() caused by interactions with CompressedBuffer APIs
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
* Read recorded requests to memory before parsing
This will more accurately simulate how requests comes in from a client
* Make a fast path for GetFinalPathNameByHandleW
Try to get the path with a fixes size buffer first to avoid always doing two calls to GetFinalPathNameByHandleW
|
| |
|
|
| |
* Don't continue parsing http requests if we get an error.
* changelog
|
| |
|
|
| |
* Fix logging of number of read entries from log/index file for stores
* changelog
|
| | |
|
| |
|
|
| |
* Windows: explicitly set the special SO_EXCLUSIVEADDRUSE flag
* changelog
|
| | |
|
| |
|
|
|
|
|
| |
* updated drop command to support namespaces
* fixed hash command error message
* fix output of status (and top) command
* Use ZEN_CONSOLE for output in zen commands
* changelog
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* Use direct file read and direct buffer allocation for small IoBuffer materalization
* Reduce range of materialized data in CompositeBuffer reading
CompressedBuffer header reading often only need a small part and not the whole file
* reduce lock contention in IoBuffer::Materialize
* Reduce parsing of compressed headers
Validate header type at decompression
* faster CreateDirectories - start from leaf going up and recurse back
* optimized BufferHeader::IsValid
* Add ValidateCompressedHeader to use when we don't need the actual compressed data
Validate that we always get compressed data in CidStore::AddChunk
* changelog
|
| |
|
|
|
|
|
|
|
| |
This adds recording and playback of cache request with full data - both get and put operations can be replayed.
Invoke via web request.
`<host>/z$/exec$/start-recording?<disk-storage-path>`
`<host>/z$/exec$/stop-recording`
`<host>/z$/exec$/replay-recording?<thread-count>&<disk-storage-path>`
|
| |
|
|
| |
* Use Iso8601 format for logging start and end message
* changelog
|
| |
|
|
|
| |
- Feature: Disk size triggered GC, a soft disk usage limit for cache data.
- Feature: New option `--gc-disk-size-soft-limit` (command line), `gc.cache.disksizesoftlimit` (lua config) controlling limit for soft disk usage limit. Defaults to zero which disables soft disk usage limit.
- Improvement: Disk write pressure in GC log and cleaned up clutter in GC logging.
|
| | |
|
| |
|
|
|
|
|
|
| |
* Make sure we always store record/op before attachments
We don't want to store attachments first - a GC operation could then remove attachments if triggered before storing record/op
* zen::Latch
* Use latch to wait for attachments to be stored
* use zen::latch when adding attachments from project oplog import
* changelog
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
* Improve tracking of used disk space for filecas and compactcas
Add tracking of used disk space for project store
Remove ZenCacheStore as GcStorage/GcContributor
- underlying ZenCacheNamespace instances register themselves directly
- removing this also fixes double reporting of GcStorageSize for namespaces
* changelog
|
| |
|
|
| |
* Don't resize block store block file to max size at creation
* changelog
|
| | |
|
| |
|
| |
specify host url to query running service version, otherwise you get zen command version
|
| |
|
|
| |
* bump cache large object size limit to 128Kb
* changelog
|
| | |
|
| | |
|
| |
|
| |
* Add `import-project` and `export-project` command line parsing
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
* make sure we build the zen command line as well in bundle
* include zen command line executable
* changelog
|
| | |
|
| |
|
|
|
|
|
|
| |
* Fix packed message parsing for absolute path
* Always enable are sharing when opening files as IoBuffers.
* Allow control over sending partial files as localfile ref
* Check "AcceptFlags" field in RPC message for allowing localfile ref in reply
* make oplog entry add operations ZEN_DEBUG level logs
* changelog
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fix concurreny issues when deleting projects/oplogs
* remove rocksdb test code
* project store unit tests
* safer deletion of oplogs/projects
* reference count ProjectStore::Project to handle lifetime during GC
* Don't open all project oplogs unless we need them
* Don't scrub expired projects
* Don't gather references from expired projects
* added logging details for GC
* release lock as soon as folder is moved
* more tests for project store
* changelog
|
| |
|
|
| |
instances (#180)
|
| | |
|
| |
|
|
|
|
|
| |
* Make sure we don't use invalidated iterators in projectstore.cpp
* project store keeps track of project file and will garbage collect data for a project if the project file no longer exist
* Implement GC of projects in project store - still need to fix lifetime issues for Project instances
* Add INFO log if project file path is empty in projectstore
* changelog
|
| | |
|
| | |
|