| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
* moved source directories into `/src`
* updated bundle.lua for new `src` path
* moved some docs, icon
* removed old test trees
|
| |
|
|
| |
* save cache rawsize and rawhash in manifest file instead of log file
* don't use # as prefix for counts in log
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* basic oplog stats
* add GetValueStats to cache store
* RwLock::ExclusiveLockScope -> RwLock::SharedLockScope
* add rawhash and attachment count to CacheValueStats
* added cache-stats and project-stats commands
* add cast to make Mac overload detection happy
* fix accept type in cache-stats command
* Add options to project-stats command
* use resource paths for stats in project store
* use resource paths for stats in cache
* fix cache-info and project-info url discriminator
* more control over details$ output
* cleanup
* changelog
|
| |
|
|
|
|
|
|
|
| |
* send payloads as duplicated handles if requestor provides process id and allows local file references.
* linux/macos fixes
* tests
* fix access rights when duplicating handle
* fix closing of duplicated handles on error
* cleanup
* changelog
|
| |
|
|
|
|
|
|
|
| |
* refactored MemoryCacheBucket to allow for storing RawHash/RawSize.
* remove redundant conversions in AccessTime
* reduce max count for memory cache bucket to 32-bit value
* refactored DiskCacheBucket to allow for storing RawHash/RawSize.
* Use CompressedBuffer::ValidateCompressedHeader when applicable
* Make sure we rewrite the snapshot if we read an legacy existing index/log
* changelog
|
| |
|
|
|
|
| |
* refactored MemoryCacheBucket to allow for storing RawHash/RawSize.
* remove redundant conversions in AccessTime
* reduce max count for memory cache bucket to 32-bit value
* refactored DiskCacheBucket to allow for storing RawHash/RawSize.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* rpc replay zen command
* fix replay sessions for thread
* recording start/stop as zen commands
* move rpcrecording code to zenutil to remove code duplication
* simplify recording http request threading
* added more data logging to rpc replay
* NotFound is an acceptable response for an rpc request
* fix rpc replay command line parsing
* rpc replay stats
* Allow spawning of sub-process workers when replaying rpc recording
* 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
|
| |
|
|
|
|
| |
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
|
| |
|
|
| |
* Fix logging of number of read entries from log/index file for stores
* 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>`
|
| |
|
|
|
| |
- 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
|
| |
|
|
| |
* bump cache large object size limit to 128Kb
* changelog
|
| |
|
| |
* Add `import-project` and `export-project` command line parsing
|
| | |
|
| |
|
|
|
|
|
|
| |
* 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
|
| |
|
|
| |
instances (#180)
|
| |
|
|
|
| |
memory copy (#174)
When reading upstream, fall back to old rpc response to handle older instances.
|
| |
|
|
|
|
| |
* Pass along endpoint info for each upstream request
* Add more timing details in log
* more log details for single item upstream fetch
* DISABLEDQUERY over SKIP
|
| | |
|
| |
|
|
| |
* demote a number of ZEN_ERROR to ZEN_WARN
* changelog
|
| |
|
|
| |
* changelog
* remove obsolete legacy code
|
| |
|
|
| |
* Implement proper GetCacheValues upstream
* changelog
|
| |
|
|
|
|
| |
* use "\\?\" prefix for windows paths
* fix path delimiters
* disable vcpkg caching
* Workaround for spdlog not being able to create directories prefixed with `\\?\`
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Bumped ZEN_SCHEMA_VERSION
- CasStore no longer a public API, it is hidden behind CidStore
- Moved cas.h from public header folder
- CidStore no longer maps from Cid -> Cas, we store entries in Cas under RawHash
- CasStore now decompresses data to validate content (matching against RawHash)
- CasChunkSet renames to HashKeySet and put in separate header/cpp file
- Disabled "Chunk" command for now as it relied on CAS being exposed as a service
- Changed CAS http service to Cid http server
- Moved "Run" command completely inside ZEN_WITH_EXEC_SERVICES define
- Removed "cas.basic" test
- Uncommented ".exec.basic" test and added return-skip at start of test
- Moved ScrubContext to separate header file
- Renamed CasGC to GcManager
- Cleaned up configuration passing in cas store classes
- Removed CAS stuff from GcContext and clarified naming in class
- Remove migration code
|
| | |
|
| | |
|
| |\ |
|
| | |
| |
| |
| | |
(#127)
|
| |/ |
|
| | |
|
| |\ |
|
| | |
| |
| |
| | |
Easier to debug and no conflicts
|
| | |
| |
| |
| | |
namespaces
|
| |/ |
|
| |
|
|
| |
Can cause deadlock
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
This allows us to delete the file even if it is open for read.
We do a delete, the rename since we are not allowed to do a rename-overwrite, only delete.
As we have the shard lock for the file we want to replace we can safely do a delete+rename.
In the rare case that we fail to rename the file into place the old data is lost.
As this is a *cache* and it should be very rare this is OK.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
ZenCacheDiskLayer)
|