Change the way we represent ResponseAlreadyComputedError in the cache
When a "parallel" step has already been computed, an error is stored in the cache with `ResponseAlreadyComputedError`error_code, and http status 500 (ie: if `split-first-rows-from-streaming` exists, then `split-first-rows-from-parquet` does not need to be computed).

But it makes it hard to monitor the "true" errors. If we follow the analogy with the HTTP status codes, it should be 3xx instead of 5xx, ie: a redirection to another resource.

I don't know how we should change this though. Let's put ideas in the issue.
Change the way we represent ResponseAlreadyComputedError in the cache: When a "parallel" step has already been computed, an error is stored in the cache with `ResponseAlreadyComputedError`error_code, and http status 500 (ie: if `split-first-rows-from-streaming` exists, then `split-first-rows-from-parquet` does not need to be computed).

But it makes it hard to monitor the "true" errors. If we follow the analogy with the HTTP status codes, it should be 3xx instead of 5xx, ie: a redirection to another resource.

I don't know how we should change this though. Let's put ideas in the issue.