#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]
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]
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]
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]
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]
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]
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]
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]
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]