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

PropertySet does not support values of None

    XMLWordPrintable

    Details

    • Type: Story
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: daf_base
    • Labels:
      None

      Description

      In DM-5466, we needed to pass the results from ParseTask.getInfo() to the butler as a dataId. This is normally valid, since both are dictionaries, and even though getInfo() often contains extraneous entries that aren't relevant, the butler will usually ignore them. However, when parsing calibration files this dictionary contains some values that are set to None, since they will be filled in later. These extraneous keys are then placed in ButlerLocation.additionalData (butlerLocation.py:221), which throws an exception as it is a PropertySet and does not support python None as a value.

      DM-5466 has a work-around that strips these None values from the dictionary, but this is inelegant. The main driver for excluding None from PropertySet seems to compatibility with FITS headers. This seems like an unwarranted mixing of data model and persistence formats. Unless there is some advantage to not being able to store None in our dictionary-like objects, it seems preferable to shift the burden of accommodating FITS's peculiarities onto the persistence layer rather than PropertySet.

        Attachments

          Issue Links

            Activity

            ctslater Colin Slater created issue -
            swinbank John Swinbank made changes -
            Field Original Value New Value
            Labels SciencePipelines
            tjenness Tim Jenness made changes -
            Risk Score 0
            tjenness Tim Jenness made changes -
            Link This issue is duplicated by DM-8101 [ DM-8101 ]
            tjenness Tim Jenness made changes -
            Link This issue is triggered by RFC-239 [ RFC-239 ]
            tjenness Tim Jenness made changes -
            Assignee Tim Jenness [ tjenness ]
            tjenness Tim Jenness made changes -
            Labels SciencePipelines
            tjenness Tim Jenness made changes -
            Status To Do [ 10001 ] In Progress [ 3 ]
            tjenness Tim Jenness made changes -
            Sprint Arch 2019-04-01 [ 899 ]
            Team Architecture [ 10304 ]
            tjenness Tim Jenness made changes -
            Story Points 3
            tjenness Tim Jenness made changes -
            Reviewers Kian-Tat Lim [ ktl ]
            Status In Progress [ 3 ] In Review [ 10004 ]
            tjenness Tim Jenness made changes -
            Link This issue relates to DM-8101 [ DM-8101 ]
            tjenness Tim Jenness made changes -
            Link This issue relates to DM-8101 [ DM-8101 ]
            tjenness Tim Jenness made changes -
            Link This issue relates to DM-8100 [ DM-8100 ]
            tjenness Tim Jenness made changes -
            Link This issue is triggering DM-18864 [ DM-18864 ]
            tjenness Tim Jenness made changes -
            Reviewers Kian-Tat Lim [ ktl ] Jim Bosch, Kian-Tat Lim [ jbosch, ktl ]
            jbosch Jim Bosch made changes -
            Status In Review [ 10004 ] Reviewed [ 10101 ]
            tjenness Tim Jenness made changes -
            Resolution Done [ 10000 ]
            Status Reviewed [ 10101 ] Done [ 10002 ]
            tjenness Tim Jenness made changes -
            Epic Link DM-16576 [ 234914 ]

              People

              Assignee:
              tjenness Tim Jenness
              Reporter:
              ctslater Colin Slater
              Reviewers:
              Jim Bosch, Kian-Tat Lim
              Watchers:
              Colin Slater, Jim Bosch, John Swinbank, Kian-Tat Lim, Meredith Rawls, Simon Krughoff, Tim Jenness
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Jenkins Builds

                  No builds found.