Commit Graph

494 Commits

Author SHA1 Message Date
zousar shaker
b6a8902058 Change the DDC Http backend to ensure that when downloading from the /refs and /compressed-blob routes, that the Http return code 404 is not logged at display level, but instead treated as an expected error code because unlike the /c route, they use 404 to indicate a cache miss.
#rb devin.doucette
#preflight 61f0dce8ff453b751b5130a0

#ROBOMERGE-AUTHOR: zousar.shaker
#ROBOMERGE-SOURCE: CL 18732663 in //UE5/Release-5.0/... via CL 18732713 via CL 18732743
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18732763 by zousar shaker in ue5-main branch]
2022-01-26 00:46:18 -05:00
matt peters
45e31647f3 ZenDerivedDataBackend: CachePolicy use new string serialization. CacheRecordPolicy use CacheRecordPolicy::Save. GetCachePayloads change name to GetCacheValues.
#preflight 61f00ecfbe0f0e0a62022561

#ROBOMERGE-AUTHOR: matt.peters
#ROBOMERGE-SOURCE: CL 18722523 in //UE5/Release-5.0/... via CL 18722542 via CL 18722620
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18722629 by matt peters in ue5-main branch]
2022-01-25 10:14:15 -05:00
matt peters
464d8e698f CachePolicy: Add Save/Load to StringBuilder.
CacheRecordPolicy: Add Save/Load to CompactBinary
#rb Devin.Doucette
#rnx
#preflight 61f005391f5c4c6f64941707

#ROBOMERGE-AUTHOR: matt.peters
#ROBOMERGE-SOURCE: CL 18722255 in //UE5/Release-5.0/... via CL 18722342 via CL 18722401
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18722411 by matt peters in ue5-main branch]
2022-01-25 09:50:39 -05:00
vincent gauthier
64e91b43eb CIS fix Localisation: Fix to LOC macros that need to be on a single line for parsing to work
#jira UE-136397
#rb none
#preflight none

#ROBOMERGE-AUTHOR: vincent.gauthier
#ROBOMERGE-SOURCE: CL 18696734 in //UE5/Release-5.0/... via CL 18696776 via CL 18696802
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18696844 by vincent gauthier in ue5-main branch]
2022-01-21 16:35:58 -05:00
guillaume abadie
281f426fa6 Implements a DDC.Graph cvar to stick DDC.Graph="DerivedDataBackendGraph_Jupiter" in ConsoleVariables.ini once and for all locally
#rb Devin.Doucette
#preflight 61eae661731e3b4088941f94

#ROBOMERGE-AUTHOR: guillaume.abadie
#ROBOMERGE-SOURCE: CL 18691293 in //UE5/Release-5.0/... via CL 18691304 via CL 18691312
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18691322 by guillaume abadie in ue5-main branch]
2022-01-21 12:28:04 -05:00
devin doucette
cdedb37d66 DDC: Converted the Build API to UTF-8 where appropriate
#jira UE-133382
#rb Zousar.Shaker
#rnx
#preflight 61e798ee3f00a0a23ef78c49

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18655307 in //UE5/Release-5.0/... via CL 18655320 via CL 18655322
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)

[CL 18655349 by devin doucette in ue5-main branch]
2022-01-19 00:27:48 -05:00
devin doucette
cd23a81f6c DDC: Added hashing and comparison to FSharedString and updated natvis
#rb Zousar.Shaker
#rnx
#preflight 61e5ff073778a195de94ce9c

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

[CL 18637608 by devin doucette in ue5-main branch]
2022-01-18 04:50:13 -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
devin doucette
836757d1c2 DDC: Moved GDDCIOThreadPool out of Core
The DDC thread pool is a temporary workaround for issues with high-latency cache accesses happening on regular worker thread, which are reduced in number in 5.0 compared to 4.27. Moving it to be private within DDC will keep it easy to remove once the high-latency caches are accessed through an async API.

#rb Zousar.Shaker
#rnx
#preflight 61e5b194873f2ea48f3e0b02

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

[CL 18637555 by devin doucette in ue5-main branch]
2022-01-18 04:45:24 -05:00
devin doucette
23f9d839c7 DDC: Renamed ECachePolicy::PartialOnError to PartialRecord
The name more accurately reflects the purpose of the flag, which is to allow a partial record to be fetched or stored in the absence of data for otherwise-required values.

#rb Zousar.Shaker
#rnx
#preflight 61e5ae87a2616066f68abc35

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

[CL 18637552 by devin doucette in ue5-main branch]
2022-01-18 04:45:13 -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
devin doucette
8a913e045a DDC: Fixed cache record propagation to respect the cache policy
The hierarchical backend now considers the Store and Query flags, whether backends are writable, and whether backends allow lower cache levels to be filled.

Features of cache propagation that are missing at this point:
- Propagation within GetChunks.
- Consideration of the local/remote classification of the backend relative to the cache policy.
- Removal from the response of data that was requested for propagation purposes but was meant to be skipped.
- Use of the PartialOnError flag and custom policies to allow higher level backends to return parts of records while attempting to recover only the missing pieces from lower level caches.
- Disabling propagation of Get and Put after reaching backend that contains the record or value, and disables filling of lower cache levels.

#rb Zousar.Shaker
#rnx
#preflight 61e2709d4b4bd12cbef7cc11

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

[CL 18637363 by devin doucette in ue5-main branch]
2022-01-18 04:29:38 -05:00
devin doucette
0888c913f5 DDC: Fixed an assert when doing a put from a cache plugin
#jira UE-139259
#rb Zousar.Shaker
#rnx
#preflight 61e1b9c23a6da83197bbad07

#ROBOMERGE-OWNER: Devin.Doucette
#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18620142 in //UE5/Release-5.0/... via CL 18620423 via CL 18620470
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v899-18417669)

[CL 18620499 by devin doucette in ue5-main branch]
2022-01-14 13:35:25 -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
devin doucette
1883382ae7 DDC: Added functions to transform a cache policy and build policy
#rb Zousar.Shaker
#rnx
#preflight 61e0aa6e341d372424e948f1

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

[CL 18617376 by devin doucette in ue5-main branch]
2022-01-14 09:48:40 -05:00
devin doucette
3725815687 DDC: Added ILegacyCacheStore and folded the key length limit into the new FLegacyCacheKey
This API adds a little bit of overhead but, in exchange:
- Offers a path to migrate to the new Value API.
- Offers a path to provide compression while falling back to the previous format.
- Offers a path to backends batching requests without consuming a worker thread.
- Avoids copying the value multiple times during async puts.

#rb Zousar.Shaker
#rnx
#preflight 61e0a32fed50181feb57c5d6

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

[CL 18607126 by devin doucette in ue5-main branch]
2022-01-13 17:30:44 -05:00
devin doucette
fd82da3de9 DDC: Factored out common code in AsyncPut and added stats
#rb Zousar.Shaker
#rnx
#preflight 61e0982b797757aace8a7d35

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

[CL 18605575 by devin doucette in ue5-main branch]
2022-01-13 16:44:15 -05:00
devin doucette
f1b9a29d2e DDC: Disabled propagation of gets to slow backends if they have not had a cache miss yet
#rb Zousar.Shaker
#rnx
#preflight 61e069a6ed50181feb51d010

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

[CL 18599543 by devin doucette in ue5-main branch]
2022-01-13 13:13:18 -05:00
devin doucette
394fd0642b DDC: Made the backend namespaces consistent in advance of introducing ILegacyCacheStore
#rb Zousar.Shaker
#rnx
#preflight 61e04880250b9537f77549d7

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18597466 in //UE5/Release-5.0/... via CL 18597469 via CL 18597485
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18597488 by devin doucette in ue5-main branch]
2022-01-13 11:09:29 -05:00
michael noland
a862007587 Fixed a crash in logging code when CreateHttpDerivedDataBackend couldn't connect to a backend (extra dereference on a TCHAR* format arg)
[FYI] Devin.Doucette
#preflight none

#ROBOMERGE-AUTHOR: michael.noland
#ROBOMERGE-SOURCE: CL 18594389 in //UE5/Release-5.0/... via CL 18594410 via CL 18594417
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18596594 by michael noland in ue5-main branch]
2022-01-13 10:04:43 -05:00
devin doucette
b46e70ea4e DDC: Rename CompleteParams to Response and use FSharedString with no alias
#rb Zousar.Shaker
#rnx
#preflight 61ddf9e0f10add4574e6cf59

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18577467 in //UE5/Release-5.0/... via CL 18577471
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18577481 by devin doucette in ue5-release-engine-test branch]
2022-01-11 17:09:20 -05:00
devin doucette
0f3498e71c DDC: Moved the pak file backends out of their header
This hides implementation details and reduces the number of files that need to change when refactoring backends.

#rb Zousar.Shaker
#rnx
#preflight 61ddd0a16925dc1f2c9bd3a6

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18575491 in //UE5/Release-5.0/... via CL 18575502
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18575511 by devin doucette in ue5-release-engine-test branch]
2022-01-11 14:41:53 -05:00
devin doucette
ed0c7a9b68 DDC: Replaced BuildValue(ValueKey) with Build(Key)
The policy allows filtering the result to an arbitrary set of values, which makes the new function both more powerful and better aligned with the rest of the API.

#jira UE-133389
#rb Zousar.Shaker
#rnx
#preflight 61ddb5fa4533f92a4e2c48d0

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18574442 in //UE5/Release-5.0/... via CL 18574451
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18574456 by devin doucette in ue5-release-engine-test branch]
2022-01-11 13:18:16 -05:00
devin doucette
23ddaa8bab DDC: Moved cache backends out of headers
This hides implementation details and reduces the number of files that need to change when refactoring backends.

Backends moved in this change: AsyncPut, Http, Memory, S3, Zen.

#rb Zousar.Shaker
#rnx
#preflight 61dd0d758d72a407aab89074

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18573340 in //UE5/Release-5.0/... via CL 18573347
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18573359 by devin doucette in ue5-release-engine-test branch]
2022-01-11 11:57:38 -05:00