Commit Graph

34 Commits

Author SHA1 Message Date
zousar shaker
d78e86696f Exclude Zen from HttpCacheStore test on non-windows platforms as it is not ready for use on non-windows platforms.
#rb trivial
[FYI] devin.doucette
[FYI] matt.peters

[CL 23658577 by zousar shaker in ue5-main branch]
2023-01-11 20:57:41 -05:00
Zousar Shaker
b9548ddad4 Move Zen module public headers into an "Experimental" subfolder to have them reflect the feature status.
Fix locations that include the headers to use the "Experimental" subfolder and re-sort includes.  No functional change, purely a move, search+replace, and sort of includes.

#rb matt.peters
#preflight 63939eebc415e8dc78d35d63

[CL 23468934 by Zousar Shaker in ue5-main branch]
2022-12-09 16:11:41 -05:00
Matt Peters
a46d4a439a CacheStoreTest - automated test spurious failure fix: Record whether the first local put and remote put succeed, and use that to decide bExpectHit for each key that get what we put to local/remote.
#jira UE-157577
#rb Devin.Doucette
#rnx
#preflight 63336ff37b582f58abd78581

[CL 22211844 by Matt Peters in ue5-main branch]
2022-09-27 18:10:32 -04:00
devin doucette
1239a75353 DDC: Removed obsolete unstructured namespace parameter from the clients for Horde Storage and Zen
#rb Zousar.Shaker

[CL 22018759 by devin doucette in ue5-main branch]
2022-09-14 18:25:46 -04:00
Devin Doucette
9aee9a4bd8 DDC: Fixed unsafe type cast warnings
#preflight 6317fc04a20b67673b1de7c3
#rb Zousar.Shaker
#rnx

[CL 21850770 by Devin Doucette in ue5-main branch]
2022-09-07 10:37:16 -04:00
Zousar Shaker
860fdb7053 Fix bugs in the System.DerivedDataCache.HttpDerivedDataBackend.CacheStore automated test caused by:
1. Using the wrong structured namespace when instantiating Zen.
2. Assuming that the order that PUT requests will complete is equal to the order that they were in the original request array.

#rb none
#fyi dan.engelbrecht
#preflight 6317a9e72b7fe03eb64e3d7c

[CL 21829182 by Zousar Shaker in ue5-main branch]
2022-09-06 17:05:48 -04:00
Joakim Lindqvist
bd3223cb4c Support for using OidcToken in editor / cooker to acquire a user token, currently opt in.
#preflight https://horde.devtools.epicgames.com/job/62c4108c8d5e678759f258f0

[CL 20964270 by Joakim Lindqvist in ue5-main branch]
2022-07-06 05:59:22 -04:00
steve robb
fd2a0b1e20 Removal of TEXT literal concatenations, which doesn't work in UTF-8 mode.
#rb devin.doucette
#jira UE-132142
#preflight 62a8748fa76c84377748036b

#ROBOMERGE-OWNER: steve.robb
#ROBOMERGE-AUTHOR: steve.robb
#ROBOMERGE-SOURCE: CL 20647443 via CL 20648283 via CL 20648315
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20651786 by steve robb in ue5-main branch]
2022-06-14 12:46:34 -04:00
Zousar Shaker
ea6ad5fc8e Change Zen cache store to issue non-blocking HTTP requests. GetChunks remains blocking because of the sequential nature of the way it consumes results. This can be changed in the future. Fixed a bug in the code for async POST operations to ensure it sets the post size appropriately.
This change requires a fix (in progress) to EditorDomain to avoid a deadlock.

#rb devin.doucette
#fyi stefan.boberg
#preflight 62a3619670680d6143dc5425

[CL 20598472 by Zousar Shaker in ue5-main branch]
2022-06-10 12:56:08 -04:00
Devin Doucette
1bbb384300 DDC: Removed the legacy cache implementation from the clients for Horde Storage and Zen
#preflight 62967fd60c151996e13038ec
#rb Zousar.Shaker

[CL 20445538 by Devin Doucette in ue5-main branch]
2022-05-31 22:01:53 -04:00
dan engelbrecht
e4e1ba5527 Allow configuration for separate namespace for structured data
#preflight 628e494382597362d1f8050d
#preflight 628e70d72c7cb2d10d71c033

[CL 20369511 by dan engelbrecht in ue5-main branch]
2022-05-25 14:55:57 -04:00
Devin Doucette
92a888c1f6 Replaced uses of _ASV with ANSITEXTVIEW
#preflight 6266acf50634d0904cdfe91c
#rb Steve.Robb
#rnx

[CL 19903251 by Devin Doucette in ue5-main branch]
2022-04-25 11:31:36 -04:00
Zousar Shaker
03207d24ea Allow OAuth access scope to be configurable for a Horde Storage DDC store. Supplied by partners.
#rb devin.doucette
#rnx
#preflight 623b9723c73745c600c264e6

[CL 19487258 by Zousar Shaker in ue5-main branch]
2022-03-23 18:05:53 -04:00
Matt Peters
9741234c21 HttpCacheStoreTest: Add test to confirm that downloading from Jupiter -> Upstream Zen -> Zen -> Client works.
#rb Zousar.Shaker
#rnx
#preflight 621674780f71e491cc07ee7e

[CL 19095244 by Matt Peters in ue5-main branch]
2022-02-23 13:13:43 -05:00
Zousar Shaker
a0c688d5fd Unshelved from pending changelist '18992789' in UE5/Release-5.0:
Change Zen to  ValueWithLegacyFallback mode now that it handles Value PUTs to Jupiter correctly.  Add Jupiter auto test that ensures a PUT via UE->Zen->UpstreamZen->Jupiter produces something that can be GET from UE<-Jupiter.  Confirmed test passes.

#rb devin.doucette
#jira UE-134381
#lockdown Aurel.Cordonnier
#preflight 620b4e22bb6a072d17cdd6dd

[CL 18998519 by Zousar Shaker in ue5-main branch]
2022-02-15 12:34:29 -05:00
devin doucette
2800210897 DDC: Enabled compression of legacy cache data
- FileSystem, Http, Pak, S3 use the ValueWithLegacyFallback mode by default, which cause them to fall back to searching for uncompressed data if compressed data is not found.
- FileSystem has been fixed to store up to 1 MiB of compressed data inline with the value package rather than separately in content-addressable storage.
- Pak has been optimized to have GetChunks only load the required region of the requested value, rather than the whole value.
- Pak has been changed to stop storing data inline in the record package, since it will end up in the same file anyway when stored separately.
- Pak will upgrade the compressor and compression level when a compressed pak file is requested. Default cache compression uses Oodle Mermaid VeryFast and will upgrade to Oodle Kraken Optimal2.
- Zen does not have compression enabled by default, pending deployment of a new version that stores compressed values to Horde Storage.
- Added a missing request barrier when saving uncompressed data as compressed.

Example reduction in file system cache size when cooking for Windows:
- CitySample dropped from 66.5 GiB to 21.8 GiB.
- Lyra dropped from 2.54 GiB to 672 MiB.
- ShooterGame dropped from 1.21 GiB to 380 MiB.

Example reduction in compressed pak file cache size when cooking for Windows:
- CitySample dropped from 22.3 GiB to 18.5 GiB.
- Lyra dropped from 691 MiB to 543 MiB.
- ShooterGame dropped from 387 MiB to 313 MiB.

#jira UE-134381
#preflight 620a703f583261b0a658e043, 620a6fb2803d9066e6805310, 620a733117632e948459b6af
#lockdown Aurel.Cordonnier
#rb Zousar.Shaker

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18983671 in //UE5/Release-5.0/... via CL 18983890 via CL 18984096
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18984126 by devin doucette in ue5-main branch]
2022-02-14 14:43:39 -05:00
zousar shaker
f3b211baa8 Bump CacheStoreTest version as the AWS file share has had some test values put into it that are expected not to exist, meaning that the test always fails when using AWS as the shared cache.
#rb matt.peters
#jira UE-141632
#preflight 6206deaec663666c89b2df53
#lockdown aurel.cordonnier

#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 18963345 in //UE5/Release-5.0/... via CL 18963931 via CL 18964734
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18964750 by zousar shaker in ue5-main branch]
2022-02-11 18:17:49 -05:00
zousar shaker
2903c5331f Fix static analysis error in CacheStoreTest.cpp.
#rb matt.peters
#jira UE-141032
#lockdown aurel.cordonnier
#preflight 61fc4d11e058822bdaaaefcb

#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 18853180 in //UE5/Release-5.0/... via CL 18853206 via CL 18853946
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18853959 by zousar shaker in ue5-main branch]
2022-02-03 17:43:34 -05:00
matt peters
f2eed1a838 CacheStoreTest: Add a test case that catches ValuePolicies being parsed correctly.
#rb Zousar.Shaker
#rnx
#preflight 61f98f024404d5fadefb1c0b

#ROBOMERGE-AUTHOR: matt.peters
#ROBOMERGE-SOURCE: CL 18813550 in //UE5/Release-5.0/... via CL 18813562 via CL 18822761
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18824293 by matt peters in ue5-main branch]
2022-02-02 07:35:30 -05:00
zousar shaker
c6907b8736 Implement DDC2 Value API for Jupiter backend.
#rb devin.doucette
#preflight 61f98cc6db42673a6008471b

#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 18813356 in //UE5/Release-5.0/... via CL 18813377 via CL 18822759
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v910-18824042)

[CL 18824291 by zousar shaker in ue5-main branch]
2022-02-02 07:35:19 -05:00
matt peters
c98e98aa5f ZenServer CachePolicy support.
Add batched Put and PutValue.
Update Batched Get to send the RecordPolicy with each key.
Update GetChunks to send the CachePolicy as string and to handle SkipData in the response.
Add more unit tests  for upstream behavior and GetChunks.
Update the CacheRecordPolicy Save/Load to match the new variable names on FCacheRecordPolicy.
Deploy new zenserver binaries with the required matching server-side changes.

#rb Per.Larsson,Devin.Doucette
#rnx
#preflight 61f94e5980608c7029b8fc5c

#ROBOMERGE-AUTHOR: matt.peters
#ROBOMERGE-SOURCE: CL 18808743 in //UE5/Release-5.0/... via CL 18809399 via CL 18822531
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v908-18788545)

[CL 18823289 by matt peters in ue5-main branch]
2022-02-02 05:33:16 -05:00
matt peters
e5f3189632 Fix static analysis warnings: possible dereference of null. The analyzer did not know that TestTrue only returns true if its argument is true.
#rb None, Trivial
#rnx
#preflight 61e63a95152881f71ca46584

#ROBOMERGE-AUTHOR: matt.peters
#ROBOMERGE-SOURCE: CL 18636517 in //UE5/Release-5.0/... via CL 18636520 via CL 18636526
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18637604 by matt peters in ue5-main branch]
2022-01-18 04:49:53 -05:00
devin doucette
6ab080890c DDC: Renamed cache request and response types from Chunk to GetChunk
#rb Zousar.Shaker
#rnx
#preflight 61e5ec410705ece855b8da74

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18635634 in //UE5/Release-5.0/... via CL 18635654 via CL 18635655
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18637582 by devin doucette in ue5-main branch]
2022-01-18 04:47:59 -05:00
matt peters
8a97cfb316 DDC/ZenDerivedDataBackend: Implement PutValue,GetValue API.
#rb Devin.Doucette
#rnx
#preflight 61e5a25d006b17a686689f5d

#ROBOMERGE-AUTHOR: matt.peters
#ROBOMERGE-SOURCE: CL 18634003 in //UE5/Release-5.0/... via CL 18634012 via CL 18634018
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18637414 by matt peters in ue5-main branch]
2022-01-18 04:34:10 -05:00
zousar shaker
a455cb734d Ensure Jupiter DDC backend implements GetChunks in a functionally correct way.
Fix erroneous logging in Jupiter DDC backend when a cache record was missed.
Fix breakage in Jupiter DDC backend automated test caused by the header re-org.
Add GetChunks tests to Jupiter DDC backend automated test and increase the size and  byte variety for values in the test content.

#rb devin.doucette
#preflight 61e19ae5076be0fc4e128941

#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 18618080 in //UE5/Release-5.0/... via CL 18618090 via CL 18618106
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18618116 by zousar shaker in ue5-main branch]
2022-01-14 10:53:17 -05:00