blob: 2dbfa413ab85be0fb87da741036ab9c17eecdd07 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
##
- Feature: Adds two command to Zen command tool to export/import project store oplogs with attachments
- `export-project <target-folder> <project> [oplogs...]`
- `import-project <target-folder> <project> [oplogs...]`
- Feature: Adds command to query Zen version, specify `host-name` url to query running service version, otherwise you get zen command version. `detailed` option gives you long form version.
- `version [host-name] [detailed]`
- Feature: New service endpoint to query Zen server version, add `?detailed=true` to get long form version
- `<host>/health/version`
- Feature: Configure OpenID providers from cmd line and Lua cfg
- Feature: Added zen command line executable to release distribution
- Improvement: Bumped limit for storing cache values as separate files to reduce number of loose files
- Improvement: Optimizations when handling compressed buffer (less materialization and reading of headers)
- Improvement: Send attachments as file references if the IoBuffer we find represents a complete file and `AcceptFlags` in RPC request allows it.
## v0.1.8
- Change: Responding with new wire format for RPC requests requires the requestor to add a `Accept` field in the request. This is to allow compatability with older clients for shared instances.
- Improvement: Fixed concurrency issues in project store - project and oplog lifetime issues.
- Improvement: Don't open oplogs until we require use of them.
- Cleanup: Remove rocksdb experimental code.
- Feature: Add GC to projects store. Checks path to project file in UE side to determine when a project may be GCd on the Zen side.
## v0.1.7
- Change: All RPC responses are now formatted using dedicated wire format, Zen server has fallback to enable compatability with legacy upstreams
- Feature: Adding a `.json` extension to the `--abslog` option will make zenserver log in json format to file
- Feature: Create release in Sentry and use `sentry_options_set_release` to associate the executable
- Bugfix: CompactBinary: Fixed LoadCompactBinary to gracefully handle read failures and sizes larger than the archive. From http1s://p4-swarm.epicgames.net/changes/21983905
- Bugfix: Use bucket/key to get inline value in upstream for chunks without a chunkid
- Bugfix: Handle edge case when trying to materialize a IoBuffer of zero size via memory mapping
- Improvement: Logging: don't do formatting of messages the will not be logged
- Improvement: Logging: Timing and upstream source information in upstream logging when debug level logging is enabled
- Improvement: Reduce buffer creation and copying in ParsePackageMessage
- Improvement: Don't read attachments for oplogs we already have when parsing oplog message
## v0.1.6
- Bugfix: Bugfix: Use bucket/key to get inline value in upstream for chunks without a chunkid (UE-164966)
## v0.1.5
- Bugfix: Don't fail entire request if GetCacheValue from Horde fails for a single value
## v0.1.4
- Change: Bumped ZEN_SCHEMA_VERSION - this will invalidate entire local cache when deployed
- Change: Make CAS storage an hidden implementation detail of CidStore, we no longer hash and do mapping to compressed hash when storing cache values
- Feature: Extended zen print command to also handle CbPackage and CompressedBuffer format payloads
- Feature: Added /prj/{project}/oplog/{log}/{op} endpoint to allow retrieval of an op entry by LSN. Supports returning CbObject or CbPackage format payloads
- Improvement: asio: added some context to error reporting
- Improvement: namespace/bucket validation now uses AsciiSet for more efficient validation
- Improvement: Frontend: simplified content-type logic
- Improvement: Improved message indicating no GC is scheduled
- Improvement: Implement proper GetCacheValues upstream path
- Improvement: Demote a number of ZEN_ERROR log calls for problems that are recoverable and handled
- Bugfix: Use bucket/key to get inline value in upstream for chunks without a chunkid
- Bugfix: Fixed issue in CbPackage marshaling of local reference
- Bugfix: Fix crash when switching Zen upstream configured via DNS when one endpoint becomes unresposive
- Bugfix: Fixed issue where projects would not be discovered via DiscoverProjects due to use of stem() vs filename()
- Bugfix: Use "\\\\?\\" prefixed paths on Windows and fix hardcoded path delimiters (UE-141222)
- Bugfix: Safer detection of html folder when running non-bundled executable
- Bugfix: Use "application/x-jupiter-inline" to fetch GetCacheValues from Horde (UE-162151)
- Sentry: Added logging of sentry_init error code
- Sentry: Attach log file to Sentry error reports
- Sentry: Capture capture error/critical log statements as errors in Sentry
- Update: Bump VCPKG version to 2022.08.15
- CI: MacOS build enable again in GitHub CI
- CI: Upload debug info and source files to Sentry when release is created
## v0.1.3
-- Enable adding namespace to URI based upstream requests
-- Add logging of namespace name and bucket name if we get invalid names in requests
-- Updated README.md with Linux dev prerequisites
-- asio: added some logging to indicate concurrency
-- Fixed expired cache keys overwriting between namespaces when bucket names were the same in multiple namespaces
## v0.1.2
- Tweak bundle compression settings to streamline build
- ZenCacheDiskLayer::CacheBucket::GatherReferences: Don't hold index lock while reading standalone values
- hardening of ZenCacheDiskLayer::CacheBucket::PutStandaloneCacheValue
- GitHub Actions: Move release job to in-house linux agent
## v0.1.1
- BlockStore (small object store) Always block GC of current write block
- Make it possible to configure GC monitoring interval using `--gc-monitor-interval-seconds`
- Keep "reason" from upstream response so we can present it even if the request fails without outright error
- New GitHub Actions release flow - Add release flow in GitHub actions on pushed tag `v0.1.2` gives full release, `v0.1.2-pre0` gives pre-release
## 0d08450
- Fixes issue with broken Zen instances for legacy requests
## 63f50b5
- Enable FILE_SHARE_DELETE on standalone files in disk buckets - fixes Jira UE-154234
- Make sure we can properly create the block file before assigning it for use - fixes Jira UE-154438
- Horde execute compressed input blobs
- Drop namespace support
- Safer delete of cache buckets
## dba8b36
- Namespaces: This introduces namespaces to the zenserver but only the default ue4.ddc is supported. Clients that don't send a namespace in the request will keep old behviour, new clients that sends namespace is required to use ue4.ddc (which they currently do)
- Aligned bucket naming rules with UE code base
- Fix retry counter and add an extra iteration to give more time for success during contention for standalone files in cache
- Make sure CacheBucket::PutStandaloneCacheValue cleans up the temp file
- Restore logic where we accept failed overwrite if resulting size is the same for standlone file in cache
- Correctly calculate the m_TotalSize difference when overwriting file for standalone files in cache
- Fix namespace folder scanning
|