aboutsummaryrefslogtreecommitdiff
path: root/zenstore/gc.cpp
Commit message (Collapse)AuthorAgeFilesLines
* moved source directories into `/src` (#264)Stefan Boberg2023-05-021-1312/+0
| | | | | | * moved source directories into `/src` * updated bundle.lua for new `src` path * moved some docs, icon * removed old test trees
* tweaks for enabling unity buildsStefan Boberg2023-04-191-2/+8
| | | | | | | | | | mostly changes to make sure anonymous namespaces don't clash and a change to avoid windows headers from leaking into other compilation units unity builds are not yet enabled by default, but can be enabled by uncommenting this line in the root `xmake.lua` ``` --add_rules("c++.unity_build") ```
* fix gc logging (#213)Dan Engelbrecht2023-01-131-22/+31
| | | | | | * 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
* Changed so CompressedBuffer::DecodeRawHash returns IoHash just like on the ↵Stefan Boberg2022-12-121-3/+2
| | | | | | UE side (#208) removed all use of IoHash::FromBLAKE3() caused by interactions with CompressedBuffer APIs
* optimizations (#200)Dan Engelbrecht2022-12-071-2/+3
| | | | | | | | | | | | | * 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
* Size based gc trigger (#197)Dan Engelbrecht2022-12-021-90/+465
| | | | | - 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.
* Fix disk usage stats (#194)Dan Engelbrecht2022-11-241-1/+3
| | | | | | | | * 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
* Make cas storage an hidden implementation detail of CidStore (#130)v0.1.4-pre6v0.1.4-pre5Dan Engelbrecht2022-06-171-115/+59
| | | | | | | | | | | | | | | | | | - 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
* gc: improved message indicating no GC is scheduledStefan Boberg2022-06-101-1/+1
|
* We need to make each Cache Key contribution per bucket unique even across ↵Dan Engelbrecht2022-06-071-12/+6
| | | | namespaces
* De/fix namespace folder scanning (#103)Dan Engelbrecht2022-05-231-1/+2
|
* simplify lambda capturesDan Engelbrecht2022-05-021-8/+6
|
* correct expire vs contributeDan Engelbrecht2022-04-121-8/+1
|
* remove fallocate on MacOSDan Engelbrecht2022-04-121-5/+0
|
* logging cleanupDan Engelbrecht2022-04-041-2/+2
|
* more linux fixesDan Engelbrecht2022-04-021-6/+6
|
* proper error handling when setting file sizeDan Engelbrecht2022-04-021-7/+7
|
* error handling in BasicFile::SetFileSizeDan Engelbrecht2022-04-011-4/+6
|
* linux compilation fixesDan Engelbrecht2022-04-011-4/+4
|
* make sure we allocate disk space when we set file sizeDan Engelbrecht2022-04-011-0/+8
|
* Make gc reserve a global resourceDan Engelbrecht2022-04-011-14/+163
|
* Improved GC loggingDan Engelbrecht2022-03-311-5/+16
|
* review feedbackDan Engelbrecht2022-03-311-1/+1
|
* WIPDan Engelbrecht2022-03-311-0/+5
|
* cleanupDan Engelbrecht2022-03-311-1/+1
|
* Fix insert offset when moving last chunkDan Engelbrecht2022-03-311-0/+17
|
* More testsDan Engelbrecht2022-03-311-43/+165
|
* WIPDan Engelbrecht2022-03-311-0/+53
|
* Fix gc shutdown stalling if shutting down while gc is runningDan Engelbrecht2022-03-311-2/+11
|
* Make sure we wait for gc thread to complete before exitingDan Engelbrecht2022-03-301-9/+15
|
* Fixed unexpected abort() call when joining an unjoinable threadMartin Ridgers2022-01-251-1/+4
|
* Converted use of _format UDL to fmt::formatMartin Ridgers2022-01-101-3/+1
|
* Apple Clang does not implement std::jthreadMartin Ridgers2022-01-071-1/+3
|
* Deleted unused statically-linked functionMartin Ridgers2021-12-151-2/+0
|
* Corrected include statement caseMartin Ridgers2021-12-151-1/+1
|
* Merged main.Per Larsson2021-12-141-1/+1
|\
* | Fixed bug in z$ service returning partial cache records and enable small ↵Per Larsson2021-12-141-0/+6
| | | | | | | | object GC by default.
* | Remove Cid to CAS chunk mapping after GC.Per Larsson2021-12-131-4/+97
| |
* | Fixed bug in z$ GC.Per Larsson2021-12-131-15/+22
| |
* | Refactored z$ GC.Per Larsson2021-12-131-6/+27
| |
* | Added support for triggering GC with different params and refactored GC ↵Per Larsson2021-12-121-54/+127
| | | | | | | | scheduler.
* | Set GC default enabled and interval set to zero (off).Per Larsson2021-12-101-32/+47
| |
* | Added options for Z$ max duration and whether to collect small objects.Per Larsson2021-12-091-8/+13
| |
* | Added support for time based eviction policy in structured cache.Per Larsson2021-12-071-5/+26
| |
* | Check available disk space before GC.Per Larsson2021-12-051-2/+10
| |
* | Added simple GC interval scheduling.Per Larsson2021-12-051-19/+136
| |
* | Added naive container CAS GC support.Per Larsson2021-12-011-1/+16
| |
* | Added CacheStore and CAS store sizes to status endpoint.Per Larsson2021-11-301-1/+1
| |
* | Moved GC to background thread and added endpoint to trigger/status GC.Per Larsson2021-11-291-1/+27
| |
* | gc: implemented CID remapping for GCStefan Boberg2021-11-011-2/+44
| |