aboutsummaryrefslogtreecommitdiff
path: root/src/zenstore/compactcas.h
Commit message (Collapse)AuthorAgeFilesLines
* remove gc v1 (#121)Dan Engelbrecht2024-10-031-1/+0
| | | | | * kill gc v1 * block use of gc v1 from zen command line * warn and flip to gcv2 if --gc-v2=false is specified for zenserver
* iterate cas chunks (#59)Dan Engelbrecht2024-04-241-0/+3
| | | - Improvement: Reworked GetChunkInfos in oplog store to reduce disk thrashing and improve performance
* InsertChunks for CAS store (#55)Dan Engelbrecht2024-04-221-10/+11
| | | - Improvement: Add batching when writing multiple small chunks to block store - decreases I/O load significantly on oplog import
* use 32 bit offset and size in BlockStoreLocation (#581)Dan Engelbrecht2023-12-011-2/+2
| | | - Improvement: Reduce memory usage in GC and diskbucket flush
* spdlog implementation hiding (#498)Stefan Boberg2023-11-061-6/+3
| | | | | | | | | this change aims to hide logging internals from client code, in order to make it easier to extend and take more control over the logging process in the future. As a bonus side effect, the generated code is much tighter (net delta around 2.5% on the resulting executable which includes lots of thirdparty code) and should take less time to compile and link. Client usage via macros is pretty much unchanged. The main exposure client code had to spdlog internals before was the use of custom loggers per subsystem, where it would be common to have `spdlog::logger` references to keep a reference to a logger within a class. This is now replaced by `zen::LoggerRef` which currently simply encapsulates an actual `spdlog::logger` instance, but this is intended to be an implementation detail which will change in the future. The way the change works is that we now handle any formatting of log messages in the zencore logging subsystem instead of relying on `spdlog` to manage this. We use the `fmt` library to do the formatting which means the client usage is identical to using `spdlog`. The formatted message is then forwarded onto any sinks etc which are still implememted via `spdlog`.
* individual gc stats (#506)Dan Engelbrecht2023-10-301-1/+2
| | | | | - Feature: New parameter for endpoint `admin/gc` (GET) `details=true` which gives details stats on GC operation when using GC V2 - Feature: New options for zen command `gc-status` - `--details` that enables the detailed output from the last GC operation when using GC V2
* New GC implementation (#459)Dan Engelbrecht2023-10-301-1/+6
| | | - Feature: New garbage collection implementation, still in evaluation mode. Enabled by `--gc-v2` command line option
* clean up GcContributor and GcStorage to be pure interfaces (#485)Dan Engelbrecht2023-10-201-1/+2
|
* refactor comapactcas index (#443)Dan Engelbrecht2023-10-041-3/+5
| | | | | - Bugfix: Fix scrub messing up payload and access time in disk cache bucket when compacting index - Improvement: Split up disk cache bucket index into hash lookup and payload array to improve performance - Improvement: Reserve space up front for compact binary output when saving cache bucket manifest to improve performance
* use robinmap in compact cas (#368)Dan Engelbrecht2023-08-211-4/+7
| | | | | * Use robin-map in compactcas for 30% faster CasContainerStrategy::CollectGarbage * use robin_set in ProjectStore::Oplog::GatherReferences and BlockStore::ReclaimSpace * changelog
* added ScrubStorage to GcStorage base classStefan Boberg2023-05-151-8/+11
|
* minor GC API cleanupStefan Boberg2023-05-151-1/+1
| | | | | Scrub -> ScrubStorage Trigger -> TriggerGc (to make relationship to TriggerScrub clearer)
* clean up log/index reading and fix incorrect logging about bad log files (#286)Dan Engelbrecht2023-05-101-2/+2
|
* moved source directories into `/src` (#264)Stefan Boberg2023-05-021-0/+95
* moved source directories into `/src` * updated bundle.lua for new `src` path * moved some docs, icon * removed old test trees