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

Butler arg to ProcessCcdTask ctor breaks SingleFrameDriver

    Details

    • Type: Bug
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: pipe_drivers
    • Labels:
      None
    • Story Points:
      0.1
    • Epic Link:
    • Sprint:
      DRP F16-1
    • Team:
      Data Release Production

      Description

      It looks like DM-5798 broke pipe_driver's SingleFrameDriverTask, as it also needed to be updated to pass a butler to ProcessCcdTask. This is not shocking, as SingleFrameDriverTask has no tests, but I think it's a sufficiently serious regression that I think we should consider putting out a bugfix release; if it were working, SingleFrameDriverTask would be one the of the first points of entry for people who want to process data that has an associated obs package (I think it supersedes ProcessCcdTask in at least most of that role).

        Attachments

          Issue Links

            Activity

            Hide
            swinbank John Swinbank added a comment - - edited

            DM-5798 went in after 12.0 was tagged; I don't think this problem exists in a released version, so I don't think it merits a bugfix release. That's not to say it isn't a serious issue, of course.

            Show
            swinbank John Swinbank added a comment - - edited DM-5798 went in after 12.0 was tagged; I don't think this problem exists in a released version, so I don't think it merits a bugfix release. That's not to say it isn't a serious issue, of course.
            Hide
            jbosch Jim Bosch added a comment -

            Ah, great. And in that case, sorry for the false alarm - I should have checked release content more carefully first.

            Show
            jbosch Jim Bosch added a comment - Ah, great. And in that case, sorry for the false alarm - I should have checked release content more carefully first.
            Hide
            jbosch Jim Bosch added a comment -

            I'm just going to do this myself; it looks like a 3-line change, and it'll be useful to have the fix locally now (in that it will save me from installing a tagged version on my laptop at the moment).

            Show
            jbosch Jim Bosch added a comment - I'm just going to do this myself; it looks like a 3-line change, and it'll be useful to have the fix locally now (in that it will save me from installing a tagged version on my laptop at the moment).
            Hide
            jbosch Jim Bosch added a comment -

            Ready for review on tickets/DM-6597 of pipe_drivers. Here's the full changeset:

            commit 133b9c14c8e997863780aeabf52e49b5213a56e7
            Author: Jim Bosch <jbosch@astro.princeton.edu>
            Date:   Mon Jun 20 09:42:26 2016 +0200
             
                Pass Butler to ProcessCcdTask constructor.
             
            diff --git a/python/lsst/pipe/drivers/singleFrameDriver.py b/python/lsst/pipe/drivers/singleFrameDriver.py
            index 8454135..9f37e43 100644
            --- a/python/lsst/pipe/drivers/singleFrameDriver.py
            +++ b/python/lsst/pipe/drivers/singleFrameDriver.py
            @@ -1,4 +1,4 @@
            -from lsst.pipe.base import ArgumentParser
            +from lsst.pipe.base import ArgumentParser, ButlerInitializedTaskRunner
             from lsst.pipe.tasks.processCcd import ProcessCcdTask
             from lsst.pex.config import Config, Field, ConfigurableField, ListField
             from lsst.ctrl.pool.parallel import BatchParallelTask
            @@ -14,11 +14,13 @@ class SingleFrameDriverTask(BatchParallelTask):
                 """
                 ConfigClass = SingleFrameDriverConfig
                 _DefaultName = "singleFrameDriver"
            +    RunnerClass = ButlerInitializedTaskRunner
             
                 def __init__(self, *args, **kwargs):
            +        butler = kwargs.pop("butler")
                     BatchParallelTask.__init__(self, *args, **kwargs)
                     self.ignoreCcds = set(self.config.ignoreCcdList)
            -        self.makeSubtask("processCcd")
            +        self.makeSubtask("processCcd", butler=butler)
             
                 @classmethod
                 def _makeArgumentParser(cls, *args, **kwargs):
            

            Show
            jbosch Jim Bosch added a comment - Ready for review on tickets/ DM-6597 of pipe_drivers. Here's the full changeset: commit 133b9c14c8e997863780aeabf52e49b5213a56e7 Author: Jim Bosch <jbosch@astro.princeton.edu> Date: Mon Jun 20 09:42:26 2016 +0200   Pass Butler to ProcessCcdTask constructor.   diff --git a/python/lsst/pipe/drivers/singleFrameDriver.py b/python/lsst/pipe/drivers/singleFrameDriver.py index 8454135..9f37e43 100644 --- a/python/lsst/pipe/drivers/singleFrameDriver.py +++ b/python/lsst/pipe/drivers/singleFrameDriver.py @@ -1,4 +1,4 @@ -from lsst.pipe.base import ArgumentParser +from lsst.pipe.base import ArgumentParser, ButlerInitializedTaskRunner from lsst.pipe.tasks.processCcd import ProcessCcdTask from lsst.pex.config import Config, Field, ConfigurableField, ListField from lsst.ctrl.pool.parallel import BatchParallelTask @@ -14,11 +14,13 @@ class SingleFrameDriverTask(BatchParallelTask): """ ConfigClass = SingleFrameDriverConfig _DefaultName = "singleFrameDriver" + RunnerClass = ButlerInitializedTaskRunner def __init__(self, *args, **kwargs): + butler = kwargs.pop("butler") BatchParallelTask.__init__(self, *args, **kwargs) self.ignoreCcds = set(self.config.ignoreCcdList) - self.makeSubtask("processCcd") + self.makeSubtask("processCcd", butler=butler) @classmethod def _makeArgumentParser(cls, *args, **kwargs):
            Hide
            krughoff Simon Krughoff added a comment -

            See the single comment on the PR. Sorry for the regression.

            Show
            krughoff Simon Krughoff added a comment - See the single comment on the PR. Sorry for the regression.
            Hide
            jbosch Jim Bosch added a comment -

            Merged to master.

            Show
            jbosch Jim Bosch added a comment - Merged to master.

              People

              • Assignee:
                jbosch Jim Bosch
                Reporter:
                jbosch Jim Bosch
                Reviewers:
                Simon Krughoff
                Watchers:
                Frossie Economou, Jim Bosch, John Swinbank, Simon Krughoff
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Summary Panel