| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| |
|
|
| |
this was there before but lost in a merge recently
|
| | |
|
| |
|
| |
this change adds a `--http=plugin` mode where we support pluggable transports. Currently this defaults to a barebones blocking winsock implementation but there is also support for dynamic loading of transport plugins, which will be further developed in the near future.
|
| |
|
|
|
| |
- Feature: Add caching of referenced CId content for structured cache records, this avoid disk thrashing when gathering references for GC
- disabled by default, enable with `--cache-reference-cache-enabled`
- Improvement: Faster collection of referenced CId content in project store
|
| |
|
| |
disk usage stats are now properly reported in log messages
|
| |
|
|
| |
* AssertException constructor should be explicit
* removed pragma comment
|
| |
|
|
| |
* extended bad bucket rejection logic to include GET operations as well as PUTs
|
| |
|
|
| |
Conforming indentation. Fixing lightweight-interval-seconds -> lightweightintervalseconds. Adding missing comma preceding memlayer.
|
| | |
|
| | |
|
| | |
|
| |
|
| |
* Bugfix: Remove double counting of memory usage in memcachelayer
|
| |
|
|
| |
* make sure we update last gc time even if gc fails
* If we can't check if an oplog/project markerfile exists, assume it is not expired
|
| | |
|
| |
|
|
|
|
|
| |
* added string_view helpers for ParseHexBytes/ParseHexNumber
* reject known bad buckets in structured cache put handler (32-character hex bucket names are rejected)
* also added bucket rejection logic to bucket discovery
* added rejected_writes stat to HttpStructuredCache
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
this change fixes a problem where the memory cache layer can inadvertently prevent underlying block store files from being deleted
* ensure we get memory buffers on all paths
* added more context to error in IoBufferBuilder::ReadFromFileMaybe
* fixed problematic pread call success check in IoBufferBuilder::ReadFromFileMaybe which would always report failure on Linux/MacOS
|
| | |
|
| |
|
| |
* check that block does not exists on disk before starting write to it
|
| |
|
|
|
|
|
|
|
| |
* make sure we hold the index lock when reading payload data in reclaim space
* don't use index snapshot when updating index in reclaim space
* check that things have not moved under our feet
* don't touch m_Payloads without a lock
* start write block index on the highest block index
* we don't need to bump writeblockindex when stopping write to a block, we will bump appropriately when we start a new block
* changelog
|
| |\ |
|
| | | |
|
| | |
| |
| | |
* Don't block all write access to all buckets when doing GatherReferences/CollectGarbage
|
| |/ |
|
| | |
|
| |
|
|
| |
added --quiet option for zenserver to suppress default logging to stdout
|
| | |
|
| |
|
|
| |
async
|
| | |
|
| |
|
| |
added names to process handle GC thread and main thread for easier identification in crash dumps / process monitoring
|
| |
|
|
|
|
| |
Shared instance:
- Tweak full GC interval
- Add lightweight GC config
- Add memlayer GC config
|
| | |
|
| |
|
|
|
| |
- 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
|
| | |
|
| | |
|
| |
|
| |
removed websocket support since it is not used right now and is unlikely to be used in the future
|
| |
|
|
| |
factored out http request parsing from httpasio into separate files to enable code to be reused for different transports
|
| |
|
|
|
|
|
|
|
|
| |
- Improvement: Reduce time a cache bucket is locked for write when flushing/garbage collecting
- Change format for faster read/write and reduced size on disk
- Don't lock index while writing manifest to disk
- Skip garbage collect if we are currently in a Flush operation
- BlockStore::Flush no longer terminates currently writing block
- Garbage collect references to currently writing block but keep the block as new data may be added
- Fix BlockStore::Prune used disk space calculation
- Don't materialize data in filecas when we just need the size
|
| |
|
|
| |
* clean up date formatting (previous code would include a newline)
|
| | |
|
| | |
|
| |
|
|
|
| |
* changed where calls to IssueNewRequestMaybe are made to reduce per-transaction lock contention
* minor: reduce stack frame for HttpSysTransaction::IoCompletionCallback
|
| |
|
|
|
|
| |
- Improvement: Catch Out Of Memory and Out Of Disk exceptions and report back to reqeuster without reporting an error to Sentry
- Improvement: If creating bucket fails when storing and item in the structured cache, log a warning and propagate error to requester without reporting an error to Sentry
- Improvement: Make an explicit flush of the active block written to in blockstore flush
- Improvement: Make sure cache and cas MakeIndexSnapshot does not throw exception on failure which would cause and abnormal termniation at exit
|
| |
|
|
|
|
|
|
| |
- Feature: Limit the size ZenCacheMemoryLayer may use
- `--cache-memlayer-targetfootprint` option to set which size (in bytes) it should be limited to, zero to have it unbounded
- `--cache-memlayer-maxage` option to set how long (in seconds) cache items should be kept in the memory cache
Do more "standard" GC rather than clearing everything.
Tries to purge memory on Get/Put on the fly if exceeding limit - not sure if we should have a polling thread instead of adding overhead to Get/Put (however light it may be).
|
| |
|
|
|
|
| |
- Feature: Add lightweight GC that only removes items from cache/project store without cleaning up data referenced in Cid store
- Add `skipcid` parameter to http endpoint `admin/gc`, defaults to "false"
- Add `--skipcid` option to `zen gc` command, defaults to false
- Add `--gc-lightweight-interval-seconds` option to zenserver
|
| |
|
| |
* fix trailing null in Sentry username (GetUserName returns the length including NUL terminator)
|
| |
|
|
|
| |
structured cache (#433)
Change "chunks" title to "count" for RPC chunk requests in stats page for structured cache
|