Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fall back to Rust for experimental commands
Summary: # Context Our last attempt at removing the Python version of `eden redirect` failed (see the SEV attached to D55426809). Our next attempt should be done in a phased manner to avoid similar breakages. # Solution We will slowly remove all possible fallbacks to Python so that we can be sure no commands are running the Python version of `eden redirect` prior to deleting the code. New rollout plan is as follows: 1) Remove the Chef recipe that writes `/etc/eden/edenfsctl_rollout.json` (Done) 2) Remove "redirect" from the default list of experimental commands in the Rust code. 3) Add a fallback to Rust if Python parsing fails for experimental commands 4) Add an EdenFS event that's logged every time we fallback to the Python `eden redirect` codepath 5) Monitor Scuba data to ensure the Python codepath isn't being hit 6) Delete Python `eden redirect` altogether # This diff Accomplishes #3 by ensuring any experimental command that fails to parse as a valid Python command attempts to run as a Rust command before reporting an error. This would have prevented the SEVs today (since there *was* a valid Rust version of `eden redirect`, we just skipped it altogether). The next diff will add an EdenFS event that we can add alerting for to ensure this path is never hit. If it is hit, we can investigate why the rollout is failing and adjust accordingly. Reviewed By: kmancini Differential Revision: D56282193 fbshipit-source-id: 54c4ff1fc6808f6d44e5d98294302274f34598da
- Loading branch information