commit | 1846269aadb0ae9a57be0657159ed1d954ce8db0 | [log] [tgz] |
---|---|---|
author | Jakob Buchgraber <buchgr@google.com> | Wed Nov 06 04:34:16 2019 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Wed Nov 06 04:35:07 2019 -0800 |
tree | e61894f4b41180439726adba3df48b21090e116f | |
parent | 4d3b8c4e029b5bd91b53cd2196df71c805d14183 [diff] |
Refactor SimpleBlobStore#get(ActionResult)(...) The change update methods signatures to be compatible with those in AbstractRemoteActionCache: 1) Future<Boolean> get(String, OutputStream) -> Future<Void> downloadBlob(Digest, OutputStream) 2) Future<Boolean> getActionResult(String, OutputStream) -> Future<ActionResult> downloadActionResult(ActionKey) The refactoring uncovered a bug in CombinedDiskHttpBlobStore. We did not close the output stream *before* moving a file to the disk cache, thus potentially moving a corrupted file to the disk cache as any errors would only be reported afterwards. Closes #9200. PiperOrigin-RevId: 278830531
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel rebuilds only what is necessary. With advanced local and distributed caching, optimized dependency analysis and parallel execution, you get fast and incremental builds.
One tool, multiple languages: Build and test Java, C++, Android, iOS, Go, and a wide variety of other language platforms. Bazel runs on Windows, macOS, and Linux.
Scalable: Bazel helps you scale your organization, codebase, and continuous integration solution. It handles codebases of any size, in multiple repositories or a huge monorepo.
Extensible to your needs: Easily add support for new languages and platforms with Bazel's familiar extension language. Share and re-use language rules written by the growing Bazel community.
Follow our tutorials:
See CONTRIBUTING.md