Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-17069

Improve error messages provided to Firefly API users

    XMLWordPrintable

    Details

    • Type: Story
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: Firefly, SUIT
    • Labels:
    • Story Points:
      4
    • Sprint:
      SUIT Sprint 2019-06, SUIT Sprint 2019-07, SUIT Sprint 2019-08
    • Team:
      Science User Interface

      Description

      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.

        Attachments

          Issue Links

            Activity

            Show
            xiuqin Xiuqin Wu [X] (Inactive) added a comment - PR  https://github.com/Caltech-IPAC/firefly/pull/844
            Hide
            tatianag Tatiana Goldina added a comment -

            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
            Show
            tatianag Tatiana Goldina added a comment - 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

              People

              Assignee:
              tatianag Tatiana Goldina
              Reporter:
              gpdf Gregory Dubois-Felsmann
              Watchers:
              Gregory Dubois-Felsmann, Loi Ly, Tatiana Goldina, Xiuqin Wu [X] (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Jenkins Builds

                  No builds found.