Commit Graph

504 Commits

Author SHA1 Message Date
devin doucette
625f0006ab DDC: Removed default completion callbacks for private cache put functions
#rb Zousar.Shaker
#rnx
#preflight 61f394571f12674afbd55579

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18771213 in //UE5/Release-5.0/... via CL 18771244 via CL 18771361
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18771392 by devin doucette in ue5-main branch]
2022-01-28 10:22:45 -05:00
devin doucette
e73e078093 DDC: Updated the async cache wrapper to allow async execution in the wrapped cache store
#rb Zousar.Shaker
#rnx
#preflight 61f392ce74510448a6711ab5

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18771211 in //UE5/Release-5.0/... via CL 18771240 via CL 18771357
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18771382 by devin doucette in ue5-main branch]
2022-01-28 10:22:36 -05:00
devin doucette
df74509d41 DDC: Added a new async cache hierarchy type
This new cache hierarchy does not require the cache stores within it to complete every operation synchronously. When the child cache stores start to do async I/O, this hierarchy will support that instead of blocking like the existing hierarchy does.

This is a snapshot of the work in progress that is only implemented for the functions in ILegacyCacheStore.

#rb Zousar.Shaker
#rnx
#preflight 61f37e487a7f0d39ddd2d38b

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18768547 in //UE5/Release-5.0/... via CL 18768556 via CL 18768581
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18768594 by devin doucette in ue5-main branch]
2022-01-28 00:58:19 -05:00
devin doucette
8bc347b0be DDC: Fixed TryToPrefetch when there is not one backend containing every key
#rb Zousar.Shaker
#rnx
#preflight 61f327371f12674afbc5be32

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18768073 in //UE5/Release-5.0/... via CL 18768076 via CL 18768140
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18768147 by devin doucette in ue5-main branch]
2022-01-27 23:16:00 -05:00
devin doucette
b6bc462f04 DDC: Made ICacheStore private and removed ICache::CancelAll
#rb Zousar.Shaker
#rnx
#preflight 61f2da78801201ab3862d5ac

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18756063 in //UE5/Release-5.0/... via CL 18756070 via CL 18758707
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18760714 by devin doucette in ue5-main branch]
2022-01-27 15:43:52 -05:00
devin doucette
5b730ad9d0 DDC: Added LegacyDebugOptions and LegacyStats to ILegacyCacheStore
#rb Zousar.Shaker
#rnx
#preflight 61f1bcafbe0f0e0a623e8a15

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18745532 in //UE5/Release-5.0/... via CL 18745716 via CL 18746304
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18746526 by devin doucette in ue5-main branch]
2022-01-26 17:32:11 -05:00
devin doucette
b412a532ed DDC: Added MakeResponse(EStatus) to the cache request types
#rb Zousar.Shaker
#rnx
#preflight 61f1b88fc0033b39f89c8d84

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18744557 in //UE5/Release-5.0/... via CL 18744970 via CL 18745683
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18745958 by devin doucette in ue5-main branch]
2022-01-26 17:07:56 -05:00
devin doucette
f8b46f197a DDC: Moved FBackendDebugOptions, ESpeedClass, LogDerivedDataCache to prepare to extend ILegacyCacheStore
#rb Zousar.Shaker
#rnx
#preflight 61f1b7c1fd5285142b4b3b01

#ROBOMERGE-AUTHOR: devin.doucette
#ROBOMERGE-SOURCE: CL 18744365 in //UE5/Release-5.0/... via CL 18744960 via CL 18745676
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18745954 by devin doucette in ue5-main branch]
2022-01-26 17:07:47 -05:00
zousar shaker
109bb67a95 Fix bug where serialization of delimeter character for CachePolicy serialization (comma ',') was being serialized as an int32 ("44") due to mixing of UTF8 builder and TCHAR character.
#rb matt.peters
#preflight 61f1997573238441cb66c9ea

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

[CL 18743180 by zousar shaker in ue5-main branch]
2022-01-26 15:35:13 -05:00
matt peters
c19bac1163 FCacheKey: Add operator<< to write to an FCbWriter.
FCacheRecord: Add Save function that allows appending to an existing package.
#preflight 61f174dcf8088a3d298c6e48

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

[CL 18737679 by matt peters in ue5-main branch]
2022-01-26 12:31:58 -05:00
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