Also added some more tags to the DD scopes to better filter out operations that are of intrest
#preflight none
[CL 19571808 by Joakim Lindqvist in ue5-main branch]
I did keep the top level scope for replication as we do use that quite frequently to understand what the replicators are doing.
#preflight none
[CL 19571388 by Joakim Lindqvist in ue5-main branch]
- Fix uncapped growth of channel for stream updates.
- Prevent no-op changes unnecessarily triggering update iterations.
- Add functionality to AsyncEvent to support latching the event on, rather than just pulsing it.
#preflight none
[CL 19545492 by Ben Marsh in ue5-main branch]
Converting a dictonary of objects to compact binary doesnt really work as its undefined how to serialize the object (it should be a CbObject if we just wanted to serialize a hirearchy of compact binary).
This means that the metadata field will not be serialized for compact binary representations in the legacy api, this isnt used anyway and didnt used to work before our migration to the new cb serializer so this should be fine.
#preflight none
[CL 19539662 by Joakim Lindqvist in ue5-main branch]
The AssignLeaseAsync() method now returns a Task<Task<AgentLease>>. The outer task is awaited on each task source in priority order, and all inner tasks are awaited in parallell. Utility methods in TaskSourceBase (Skip/DrainAsync/Lease) exist to simplify creation of task objects to return.
#preflight none
[CL 19535087 by Ben Marsh in ue5-main branch]
The cooker already retries if this happens, and in practise it doesnt happen in cooks. This does in fact happen for the benchmarks though, which is the intention (to run so many requests that s3 returns this error message) and this change will help clarify its not an error.
Most of the time when this happens AWS SDK will automatically attempt to retry the upload operation, and most of the time it succeeds. So I dont expect to see this very often.
#preflight none
[CL 19525581 by Joakim Lindqvist in ue5-main branch]