Files
UnrealEngineUWP/Engine/Build
dan engelbrecht 73f2780c9f Update zenserver to v0.2.26 [089b522] https://github.com/EpicGames/zen/releases/tag/v0.2.26
v0.2.26
- 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
- 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
- Bugfix: Correctly calculate the total number of RPC ops in the stats page for structured cache
- Bugfix: Change "chunks" title to "count" for RPC chunk requests in stats page for structured cache
- Bugfix: Sentry username string no longer includes the trailing NUL
- Bugfix: Fix scrub messing up payload and access time in disk cache bucket when compacting index
- Bugfix: Cache bucket index of chunks in block store could get corrupted after a GC
- Bugfix: Probe disk for existsing block file before writing a new block
- Bugfix: IoBufferBuilder::ReadFromFileMaybe did not propagate content type to a new IoBuffer
- Bugfix: IoBufferBuilder::ReadFromFileMaybe Linux/MacOS pread success/error condition check was incorrect
- Bugfix: Memory cache layer could end up holding references to file handles between GC runs, delaying file deletion
- 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
- 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
  - Don't lock entire disk cache layer when doing GatherReferences/CollectGarbage
- Improvement: Catch Out Of Memory and Out Of Disk exceptions and report back to requester without reporting an error to Sentry
- Improvement: If creating bucket fails when storing an 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
- Improvement: http.sys I/O completion handler no longer holds transaction lock while enqueueing new requests. This eliminates some lock contention and improves latency/throughput for certain types of requests
- Improvement: date logging in GC no longer emits extraneous newlines
- Improvement: named main thread and thread handle cache thread
- Improvement: removed websockets support as it is not used and likely won't be used in the future
- Improvement: added `--quiet` command line option which can be used to suppress all stdout logging

#jira
#rb

[CL 28507244 by dan engelbrecht in ue5-main branch]
2023-10-05 13:48:45 -04:00
..
2023-09-30 11:46:22 -04:00
2023-08-15 13:07:25 -04:00
2023-06-20 10:27:15 -04:00
2023-05-12 14:46:26 -04:00