commit | a4cc4231a8cbda9ef39b6f8a32c408a4bfd5f293 | [log] [tgz] |
---|---|---|
author | leba <leba@google.com> | Fri Mar 06 05:12:02 2020 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Fri Mar 06 05:13:14 2020 -0800 |
tree | 23c8fd0f1090421f5c8561de77ef73427f533a48 | |
parent | 4024e1638c0f2a590d405366d0ddc1044dc43203 [diff] |
Address mem leak in NSOS in the case of changing config & target. When we run blaze with NSOS, and alternating 2 different targets with 2 different configs (which clears the analysis cache), there's observable memory leak: - The content of ArtifactnestedSetFunction#artifactToValueOrException is still retained - NodeEntries of ArtifactNestedSetValue is retained, and in turn retains all the transitive ArtifactNestedSetKeys. Changes: - Clear the map in ArtifactNestedSetFunction when analysis cache is discarded when there's a change in config & target. - Clear the Nodes of ArtifactNestedSetValue in Skyframe when analysis cache is discarded. RELNOTES: None PiperOrigin-RevId: 299332103
{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