buck2
buck2 copied to clipboard
Only upload large files once.
Currently, upload requests are handled in parallel without knowledge of other ongoing requests. If multiple actions depend on the same set of large locally available artifacts, this results in many upload requests of the same blobs.
To solve this behavior, we store new large blob upload requests in a dashmap. If a request is already ongoing, wait a notification of that upload finishing instead of starting a new upload.