Fix Version/s: None
Sprint:SUIT Sprint 2019-06, SUIT Sprint 2019-07, SUIT Sprint 2019-08
Team:Science User Interface
Narrowly, this ticket requests that in a case where an API-driven request for a plot refers to one or more non-existent table columns, a more informative message is presented to the user through the UI. The current message is of the form “Failed to fetch trace 0", which provides virtually no guidance to a user on how to correct the error.
Something like "Cannot display requested data: can't find column(s) 'x', 'y' in table 'z'." would be helpful. Only if there are multiple traces should traces be mentioned, e.g., "Cannot display requested data for trace 1: can't find column(s) 'x', 'y' in table 'z'."
https://jira.ipac.caltech.edu/browse/FIREFLY-114 has been created to address this above issue specifically.
The general issue described below will not be address in this ticket.
More generally (a) we need to think through all the failures that may occur and how to route useful messages through the various layers, and (b) whether the same / a similar message should be returned to the Python client as well. I fear that may be (very?) hard because of the asynchronous messaging that (I think) is used in the API.
See https://lsstc.slack.com/archives/C8EEUGDSA/p1546973044297700 and ff. for an instance where this arose and people had to spend time guessing at what the problem was.
- links to
The implementation includes minimum changes to help API user to find a problem, when an error happens because of a non-existent column. Basically, in "column not found" case, an error from db is passed to the user.
The limitations of this implementation are the following:
- If multiple columns are misspelled, only the first one is mentioned
- Non-existing column name is shown in lower case