This is pre-existing in production. If there is a mooclet-related error while doing /assign, we are not gracefully handling that error, it is causing /assign to return as an error altogether.
Expected: /assign will not error when fetching assignments, unless 404 user not found. if it can't get a particular experiment's assignment, it should warn and return null for the assignment and move on to finding other experiment assignments.
Actual: /assign can fail during a mooclet call, which throws an error for /assign up to the client which effectively blocks ALL assignments where a user is eligible for multiple experiments within the given context. This was observed when a mooclet experiment that had bad data in staging.
The fix should be to log a loud warning when this happens and why, but it shouldn't allow 'assign' to error, it should treat same as "default".
This is pre-existing in production. If there is a mooclet-related error while doing /assign, we are not gracefully handling that error, it is causing /assign to return as an error altogether.
Expected:
/assignwill not error when fetching assignments, unless 404 user not found. if it can't get a particular experiment's assignment, it should warn and returnnullfor the assignment and move on to finding other experiment assignments.Actual:
/assigncan fail during a mooclet call, which throws an error for /assign up to the client which effectively blocks ALL assignments where a user is eligible for multiple experiments within the given context. This was observed when a mooclet experiment that had bad data in staging.The fix should be to log a loud warning when this happens and why, but it shouldn't allow 'assign' to error, it should treat same as "default".