)]}'
{
  "commit": "0bae75d6382cbaf7303ba213b72d4e69db027216",
  "tree": "a322edfd65f3d99e8d47e64d92d6f37f04c11260",
  "parents": [
    "657880f096d6b3264cddc8c1b3d2d89327d0ba03"
  ],
  "author": {
    "name": "twerth",
    "email": "twerth@google.com",
    "time": "Mon Aug 24 07:11:54 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Mon Aug 24 07:13:49 2026 -0700"
  },
  "message": "Implement `--experimental_memory_load_scheduling` in Bazel.\n\nAdd experimental local execution action scheduling based on host memory utilization to `ResourceManager` and `MachineLoadProvider`, addressing issue #10662 for memory load scheduling.\n\n- Extend `MachineLoadProvider` with `getCurrentMemoryUsageMb()` to measure live RAM usage via `ProcMeminfoParser` (on Linux) or `OperatingSystemMXBean`.\n- Add `--experimental_memory_load_scheduling` flag in `ExecutionOptions`.\n- Update `ResourceManager` to dynamically check live host memory usage plus window estimation (`windowEstimationMemory`) when scheduling local actions in `areResourcesAvailable()`.\n- Rename `scheduleCpuLoadWindowUpdate()` to `scheduleLoadWindowUpdate()` to reflect scheduling for both CPU and memory load.\n- Remove deprecated `scheduleCpuLoadWindowUpdate()` and `initializeCpuLoadFunctionality()` wrappers.\n- Add unit tests in `ResourceManagerTest`.\n- Add `test_experimental_load_scheduling` shell integration test in `bazel_localtest_test.sh` testing `--experimental_memory_load_scheduling` and `--experimental_cpu_load_scheduling`.\n\nPiperOrigin-RevId: 969832855\nChange-Id: I539e3de73307857cd8197e3e4c14f078e1ed79b0\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b320ebfd89a65aa1e95603b3fe2568161361ad2d",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/actions/BUILD",
      "new_id": "041b30493edefe4134884406bfcf5267f4195668",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/actions/BUILD"
    },
    {
      "type": "modify",
      "old_id": "19109c59b0c33c183d018b0f5331df1fc0257c81",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/actions/MachineLoadProvider.java",
      "new_id": "acbc8691addaba00c75caecdd69a6b3c4ded03b9",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/actions/MachineLoadProvider.java"
    },
    {
      "type": "modify",
      "old_id": "71c1658c699fadc0948204fd062ea5762e270c52",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/actions/ResourceManager.java",
      "new_id": "38662b29c2fda57ba6b55985b169ba455a3fdf4b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/actions/ResourceManager.java"
    },
    {
      "type": "modify",
      "old_id": "a13d772ba40dd87f4968df4e4c706f23103c556c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java",
      "new_id": "6c57fda3374d9c8c2c8caa6dc12413480037351e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java"
    },
    {
      "type": "modify",
      "old_id": "592da015e95d76b60b831d9824cf7da0cd400c0c",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/exec/ExecutionOptions.java",
      "new_id": "f8ab11e3010fb5a93d4120ec1b8537fec6ec257f",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/exec/ExecutionOptions.java"
    },
    {
      "type": "modify",
      "old_id": "5effaab717e2f8a808e5b587e04a2bb45d306eab",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/actions/ResourceManagerTest.java",
      "new_id": "aeb5fede06408bc14bfed5d2d4ddcf1ad54ceffc",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/actions/ResourceManagerTest.java"
    },
    {
      "type": "modify",
      "old_id": "43a0990539c503edf0cdab1d38d1944b214b2e2a",
      "old_mode": 33261,
      "old_path": "src/test/shell/bazel/bazel_localtest_test.sh",
      "new_id": "e037ca5a2b4ccaa255e413e1209c1465acad71d3",
      "new_mode": 33261,
      "new_path": "src/test/shell/bazel/bazel_localtest_test.sh"
    }
  ]
}
