| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
* 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
|
| |
|
| |
* zen command - add options to control meta data cache when triggering gc
|
| |
|
|
|
| |
Added option `gc-attachment-passes` to zenserver
Cleaned up GCv2 start and stop logs and added identifier to easily find matching start and end of a GC pass in log file
Fixed project store not properly sorting references found during lock phase
|
| |
|
|
|
| |
* optimize IoHash and OId comparisions
* refactor filtering of unused references
* add attachment filtering to gc
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
fix oplog state check
fix wipe of oplog storage + meta only on invalid oplog
handle vanishing oplog during gc
|
| | |
|
| |
|
| |
* clean up logging
|
| |
|
| |
* fixed parsing and added extra validation of oplog index snapshot
|
| | |
|
| |
|
| |
- Improvement: Move GC logging in callback functions into "gc" context
|
| |
|
| |
- Improvement: Don't keep all oplogs open after GC, close them when references are fetched unless they are open by client
|
| |
|
| |
- Feature: Added project store oplog index snapshots for faster opening of oplog - opening oplogs are roughly 10x faster
|
| |
|
|
| |
- Feature: Added option `--gc-cache-attachment-store` which caches referenced attachments in cache records on disk for faster GC - default is `false`
- Feature: Added option `--gc-projectstore-attachment-store` which caches referenced attachments in project store oplogs on disk for faster GC - default is `false`
|
| | |
|
| |
|
|
| |
blocking client requests (#134)
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
* adds more information in log when oplog rename/delete fails
* warn if we fail to delete dropped directory
* close oplog storage file inside try/catch
* don't try to flush closed files
|
| |
|
|
| |
* add compacting of oplogs as part of GC
* force retain of LSN unless we have less than 16 miln entries left
|
| |
|
|
|
|
| |
found (#108)
* project store chunk requests that are out of range will be treaded as not found
* add chunkid to log
|
| |
|
| |
* change oplog lsn to uint32
|
| |
|
|
|
| |
* make oplog/project folder removeal more robust
* report back error to http caller if removal fails
|
| |
|
|
| |
* catch exceptions in threaded work
* don't abort all project file/chunk info fetch for single failure
|
| |
|
| |
* Add extra validation of oplog entries when reading oplog
|
| |
|
|
|
|
| |
GCv2 (#93)
- Bugfix: Make sure we monitor and include new project/oplogs created during GCv2
- Bugfix: Make sure we monitor and include new namespaces/cache buckets created during GCv2
|
| |
|
|
|
| |
* message formatting optimizations
* bump iostorecompression small value threshold to 1MB
|
| |
|
| |
* fix worklatch count in Oplog::IterateChunks
|
| |
|
|
| |
- Bugfix: Don't try to respond with zero size partial cache value when partial size is zero
- Improvement: Added more validation of data read from cache / cas
|
| |
|
| |
* use write and move in place for safer writing of files
|
| |
|
|
|
| |
- Bugfix: Remove extra loop causing GetProjectFiles for project store to find all chunks once for each chunk found
- Bugfix: Don't capture ChunkIndex variable in CasImpl::IterateChunks by reference as it causes crash
- Improvement: Make FileCasStrategy::IterateChunks (optionally) multithreaded (improves GetProjectFiles performance)
|
| |
|
|
| |
- Bugfix: Properly set content type of chunks fetch from CidStore
- Improvement: Add IterateChunks(std::span<Oid>) for better performance in get oplog
|
| |
|
|
| |
- Bugfix: Always pre-cache oplog when creating project store GCv2 referencer
- Bugfix: Correctly capture attachments imported with oplog to void them being GCd before oplog is written
|
| |
|
| |
- Improvement: Reworked GetChunkInfos in oplog store to reduce disk thrashing and improve performance
|
| |
|
| |
- Bugfix: Harden GCv2 when errors occur and gracefully abort GC operation on error
|
| | |
|
| |
|
| |
- Improvement: Add batching when writing multiple small chunks to block store - decreases I/O load significantly on oplog import
|
| |
|
|
|
|
|
|
|
|
|
| |
* report down/up transfer speed during progress
* add disk buffering in http client
* offload block decoding and chunk writing form network worker pool threads
add block hash verification for blocks recevied at oplog import
* separate download-latch from write-latch to get more accurate download speed
* check headers when downloading with http client to go directly to file writing for large payloads
* we must clear write callback even if we only provide it as an argument to the Download() call
* make timeout optional in AddSponsorProcess
* check return codes when creating windows threadpool
|
| |
|
|
| |
* reference cache gc update capture
* When importing oplogs we now import all attachments first and (optionally clean) write the oplog on success
|
| |
|
|
|
| |
* add remote oplog store statistics
* block chunking when uploading oplog to zenserver (mirroring)
* make sure we can move temporary dechunked file into cas store
|
| |
|
|
| |
- Improvement: Add file and line to ASSERT exceptions
- Improvement: Catch call stack when throwing assert exceptions and log/output call stack at important places to provide more context to caller
|
| |
|
|
|
|
| |
- Bugfix: Fix log of Success/Failure for oplog import
- Improvement: Use HttpClient when doing oplog export/import with a zenserver as a remote target. Includes retry logic
- Improvement: Increase the retry count to 4 (5 attempts in total) when talking to Jupiter for oplog export/import
|