- Do not invoke the put completion callback from the hierarchy until a put to a readable node succeeds, which is now tracked by bFinished.
- Use StopGetStore on the in-flight put cache to stop gets from that cache from propagating as duplicate puts.
- Disable the in-flight put cache for async wrappers used by propagation of gets.
#jira UE-192655
#rb Zousar.Shaker
[CL 27771618 by devin doucette in ue5-main branch]
- Construct an empty hierarchy first and populate it as the graph is parsed.
- Record the need for async and verify nodes, and create them only at the end.
- Extract parsing of debug options including throttling into the cache store owner.
- Expose the cache store owner to the cache store parsing/creation functions.
- Remove the unused speed class debug option.
#preflight 64777c254b0d5a1eb157ac8b
#rb Joe.Pribele
#rnx
[CL 25713242 by devin doucette in ue5-main branch]
The hierarchy now uses a request barrier after the first synchronous request completion. Async requests could occasionally complete fast enough that DispatchRequests would be left to handle the completion. In that scenario, there would not be a barrier in place when beginning any subsequent requests, which would lead to a failed assertion in the request owner.
#preflight 63ceb5c63a03cb0bbff95362
#rb Zousar.Shaker
[CL 23848713 by Devin Doucette in ue5-main branch]
Without using StopGetStore, get hits on the in-flight cache would propagate as puts to subsequent nodes in the hierarchy. Since the in-flight cache is only used as temporary storage while a put is in flight, this caused duplicates of the in-flight puts, which manifests as move collision log spam from the file system cache store.
#preflight 625d772d691f49969ea93249
#rb Zousar.Shaker
#rnx
[CL 19785647 by Devin Doucette in ue5-main branch]
Without using StopStore, get hits on the in-flight cache would propagate as puts to subsequent nodes in the hierarchy. Since the in-flight cache is only used as temporary storage while a put is in flight, this caused duplicates of the in-flight puts, which manifests as move collision log spam from the file system cache store.
#preflight 625835d97f628a9018d8acf6
#rb Zousar.Shaker
#rnx
[CL 19757142 by Devin Doucette in ue5-main branch]