aboutsummaryrefslogtreecommitdiff
path: root/src/zenstore/blockstore.cpp
Commit message (Collapse)AuthorAgeFilesLines
* add more trace scopes (#362)Dan Engelbrecht2023-09-151-77/+89
| | | | | * more trace scopes * Make sure ReplayLogEntries uses the correct size for oplog buffer * changelog
* stream oplog attachments from jupiter (#384)Dan Engelbrecht2023-09-061-3/+3
| | | | | | | | | | * stream large downloads from jupiter to temporary file * rework DeleteOnClose - top level marks file for delete and if lower level parts wants to keep it it clears that flag * changelog * log number of attachments to download * add delay on jupiter request failure when retrying * make sure we upload all attachments even if Needs are empty when ForceUpload is true release TempAttachment as soon as it is used * sort attachments so we get predictable blocks for the same oplog
* retry file create (#383)Dan Engelbrecht2023-09-041-2/+23
| | | | | * add retry logic when creating files * only write disk usage log if disk writes are allowed * changelog
* use robinmap in compact cas (#368)Dan Engelbrecht2023-08-211-6/+11
| | | | | * Use robin-map in compactcas for 30% faster CasContainerStrategy::CollectGarbage * use robin_set in ProjectStore::Oplog::GatherReferences and BlockStore::ReclaimSpace * changelog
* CidStore now implements the ChunkResolver interfaceStefan Boberg2023-06-301-4/+8
| | | | | this allows client code to use the ChunkResolver interface instead of CidStore, which can help with testing scenarios
* Additional trace instrumentation (#312)Stefan Boberg2023-05-161-0/+14
| | | | | | | | | * added trace instrumentation to upstreamcache * added asio trace instrumentation * added trace annotations for project store * added trace annotations for BlockStore * added trace annotations for HttpClient * added trace annotations for CAS/GC
* added error reporting for bad BlockStore chunksStefan Boberg2023-05-151-5/+22
| | | | also eliminated some copy-paste
* fix logic for old blocks in blockstore gc (#295)Dan Engelbrecht2023-05-121-21/+24
| | | | | | | * fix logic for old blocks in blockstore gc If we will remove all entries in a block and keep nothing we can't expect for the block to exist. If we want to keep entries in a block, the block must exist, if not error and move entries to delete list. Don't reset output block between blocks we are reading from, keep using it until it exceeds the max limit. * changelog
* if a block is missing during gc, log an error but still continue (#289)Dan Engelbrecht2023-05-111-4/+8
|
* Low disk space detector (#277)Dan Engelbrecht2023-05-091-5/+15
| | | | * - Feature: Disk writes are now blocked early and return an insufficient storage error if free disk space falls below the `--low-diskspace-threshold` value * Never keep an entry in m_ChunkBlocks that points to a nullptr
* Validate that entries points inside valid blocks at startup (#280)Dan Engelbrecht2023-05-091-33/+46
| | | | | * Separate initialization of block store from pruning of unknown blocks * Validate that entries points inside valid blocks
* Treat reading outside of block store file as a not found error. We may ↵Dan Engelbrecht2023-05-021-0/+4
| | | | encounter truncated blocks due to earlier abnormal termination of zenserver or disk failures. (#268)
* moved source directories into `/src` (#264)Stefan Boberg2023-05-021-0/+1312
* moved source directories into `/src` * updated bundle.lua for new `src` path * moved some docs, icon * removed old test trees