This PR contains some refactoring of the ColumnExploration and Exploration classes to make easier to allow exceptions to 'bubble up' to the top-level task. As well as logging errors directly in the ColumnExploration class, the ExploreController can access and log metadata from the errors, which is forwarded to sentry. (Fixes #204, #230)
On top of this, the explore endpoint no longer blocks on parameter validation. Instead, the validation step is offloaded as part of the background task and validation errors are returned in the errors list upon polling the result endpoint. (Fixes #243)
This PR contains some refactoring of the ColumnExploration and Exploration classes to make easier to allow exceptions to 'bubble up' to the top-level task. As well as logging errors directly in the ColumnExploration class, the
ExploreController
can access and log metadata from the errors, which is forwarded to sentry. (Fixes #204, #230)On top of this, the
explore
endpoint no longer blocks on parameter validation. Instead, the validation step is offloaded as part of the background task and validation errors are returned in theerrors
list upon polling theresult
endpoint. (Fixes #243)(more detail in the commit comments)