| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
* move project store to separate folder
* moved import/export project commands into projectstore cmd files
|
| |
|
|
| |
* Better error responses/logging in project store request
* 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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
* 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
|
| |
|
| |
* Add `import-project` and `export-project` command line parsing
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| | |
|
| | |
|
| |
|
|
|
|
| |
to use of stem() vs filename()
added /prj/{project}/oplog/{log}/{op} endpoint to allow retrieval of an op entry by LSN. Supports returning CbObject or CbPackage format payloads
|
| | |
|
| |\ |
|
| | | |
|
| | |
| |
| |
| | |
persistent oplog into account even if it has not been opened in the current session
|
| | |
| |
| |
| | |
also added validation during writing
|
| | | |
|
| |/
|
|
|
|
| |
Thus they did not get the same settings as all other projects which made it easy to introduce warnings which would trigger in xmake builds
Cleaned up some #include usage to use third-party include brackets
|
| | |
|
| | |
|
| |
|
|
| |
potential confusion around namespaces
|
| |
|
|
|
|
| |
* Code should no longer directly `#include spdlog/spdlog.h`, instead use `#include <zencore/logging.h>`
* Instead of explicit calls to `spdlog::info(...)` and such please use the logging macros defined in `zencore/logging.h`. I.e `ZEN_INFO`, `ZEN_DEBUG`, `ZEN_TRACE`, `ZEN_ERROR`, `ZEN_CRITITCAL`
* The macros will pick up the "most local" logger via a `Log()` call to retrieve a logger instance. To override the default logger in a class please implement your own `Log()` function
|
| |
|
|
| |
easier to tweak implementation
|
| | |
|
| | |
|
| |
|
|
| |
of place in zencore
|
| |
|
|
| |
Added project store flush implementation
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Added new route to get all chunk IDs and chunk hashes. Changed to always update chunk mapping to support iterative cooks.
* Replay latest oplog entries.
* Include server path when fetching file(s) and support for fetching single oplog entry.
* Removed get chunks route.
* Removed iterate chunk map.
* Take read lock when iterating oplog.
* Take read lock when reading oplog entry.
* Take ownership of buffer reading oplog entry.
* Fixed incorrect oplog key when fetching single entry.
* Changed map updates to use insert_or_assign for efficiency
Co-authored-by: Stefan Boberg <[email protected]>
|
| |
|
|
| |
locality
|
| |
|
|
| |
Added support for attaching additional files to oplog entries in project store
|
| |
|
|
| |
This enables way more efficient marshaling of compact binary objects and attachments
|
| |
|
|
|
|
|
|
| |
package payload
Currently supported in project store but will also be used for the structured cache
Currently, cleanup is missing. Ultimately the intent is that the file used for marshaling will simply be moved into place.
|
| |
|