Handle possibly null graph in graph construction helper.
Note that this PR doesn't deprecate /phase:Evaluate. It just ensures the integrity of the usage of graph construction helper.
Related work items: #2166157
If we fail to send a pip request to the worker three times, we should retry on the orchestrator. However, what was intended to be a warning event was mistakenly logged as an error. This was a bug. I have corrected this, changing the error to a warning. Now, if a pip fails to be sent to the worker three times, we should be able to retry on the orchestrator. This issue may be related to distribution challenges, such as sending millions of hashes to the worker.
Previously, observed input processor (OIP) directly probes the real file system to check if a path is a directory symlink or not.
The directory symlink is produced by an upstream pip. However, when minimal materialization is enabled, the directory symlink may not have been materialized when the consuming pip is running OIP for cache lookup.
For example, a pip P produces a directory symlink s, and another pip Q probes it. In the first run, Q will have an existing directory probe.
Before the second run, s is deleted.
In the second run, P has a cache hit, but s is not materialized due to being lazy. Now, when Q runs OIP for cache lookup, it doesn't see s in the real file system, and thus it categorizes it as absent path. Q then has a cache miss and executes.
In this PR, besides checking the real file system, OIP will include the materialization info registered by the upstream pips in the file content manager.
In the above example, when P declares that it has a cache hit, it registers all materialization info of its outputs to the file content manager. This materialization info include information about reparse point data.
Related work items: #2165434
Detours, stop lying about exit code!
This PR essentially reverts commit 7dacf77360.
Lying about exit code apparently can affect program behavior unexpectedly.
Related work items: #2161979, #2162573
- Extra configuration files (imported via importFile from the main config file) were not being linted.
- Lift some of the language rules (the mandatory ones) from spec files to all files
Related work items: #2161812, #2161953
Revert "Merged PR 776427: Enable sandbox logging if logobservedfileaccesses is enabled
- Easier to debug than using piproperties when you don't know which pip to dump"
Reverted commit `32704f3b`.
Reverting this because it is a suspected cause of PR reliability issues
Revert "Merged PR 773298: Add update batching to DCW ephemeral
Revert "Merged PR 770050: Add update batching to DCW ephemeral
This PR enables batching of requests when communicating with the DHT. The intent is to significantly reduce gRPC traffic between nodes in the datacenter."
Reverted commit `c5d6b1fe`.
Reverts !773285"
Reverted commit `94de2973`.
Reverts the most recent LKG which is the first to hit linux grpc crashes. This should alleviate part of the failures that are blocking many PR validations
Removes some tools from accruing to the drop produced in CloudBuild since they are not consumed from there.
Also removes some not unnecessary cleanup from the publish job in the rolling build pipeline.
- Adds new unified Create/ReportAccess functions along with a sandbox event class.
- Simplifies/replaces the IOHandler structure.
- Changes to call the new Create/ReportAccess and remove the old ones in come in the next PR. Future changes will also remove IOHandler from detours.cpp, PTraceSandbox.cpp, and bxl_observer.cpp
DeleteFileW apparently does not set last error to ERROR_SUCCESS on successful call.
This PR reverts the behavior of Detours to the one before commit 6f91c0bf because customers are relying on the fact that if DeleteFileW succeeds (return value != 0), then the error code is ERROR_SUCCESS.
Related work items: #2161979
Revert "Merged PR 770050: Add update batching to DCW ephemeral
This PR enables batching of requests when communicating with the DHT. The intent is to significantly reduce gRPC traffic between nodes in the datacenter."
Reverted commit `c5d6b1fe`.
Reverts !773285
Used the setting of break=false. Hoepfully this does not fail the build.
After collecting the required results this will be set to true once the issues have been resolved.
Related work items: #2160433
- Moves the FAM parsing out of the macos code.
- Implements parsing path translations and breakaway processes.
- Uses new coding style for Linux sandbox (which the rest of our code will eventually use)
Related work items: #2111123