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

If a bypass function fails it is ignored and the butler goes down an incorrect code path


    • Type: Story
    • Status: To Do
    • Resolution: Unresolved
    • Fix Version/s: None
    • Component/s: None
    • Labels:
    • Templates:
    • Story Points:
    • Team:
      Data Access and Database


      If a _bypass function throws an exception it is silently discarded, and the butler proceeds to use a non-bypassed way to try to read the data – which, in general, will fail. In the particular case that I came across I needed the dataId to read the file, not just a filename, so I provided a bypass. When that fails the non-existent readFits method is called – it doesn't exist as it doesn't get enough information.

      In this case it failed because the file didn't exist; I understand that the butler might have kept on looking for it elsewhere, but that's standard behaviour that should work (and in the case ultimately fail) even with bypassed data access.

      This is a bug in the current butler that needs to be fixed. In a future Utopian or Panglossian world where I can register a storage class whose I/O methods are passed a dataId (or possibly additionalData which currently contains the needed information – but in general I'd rather have the dataId as that fully defines the data that I'm trying to write) this use of bypass function may not be needed. That would probably be a good thing.




            • Assignee:
              rhl Robert Lupton
              Fritz Mueller, John Swinbank, Nate Pease, Robert Lupton
            • Votes:
              0 Vote for this issue
              4 Start watching this issue


              • Created:

                Summary Panel