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

Remove lsst.meas.base.MeasurementError

    XMLWordPrintable

Details

    • No

    Description

      MeasurementError exists in meas_base as a way ofr deeply-buried low-level code to set both the general failure flag for an algorithm and a specific flag indicating the kind of failure, without having access to the SourceRecord object or passing the failure mode through intervening layers of code.

      Recent profiling on macOS ARM (e.g. DM-35206) has revealed substantial performance penalties for this kind of exception-based control flow, and it's not a good pattern to begin with; we should just remove MeasurementError, after first removing its usage from the various plugins.

      In many cases, MeasurementError is used even by code that already has access to the SourceRecord, and that will be easy to fix: such code should set the appropriate flag bits directly (often by delegating to FlagHandler, at least in C++), and then return early.

      Since actually removing MeasurementError is blocked as any plugin is still using it, this ticket can serve as an umbrella ticket by being blocked by other tickets that remove specific uses.

      Attachments

        Issue Links

          Activity

            There are no comments yet on this issue.

            People

              Unassigned Unassigned
              jbosch Jim Bosch
              Eli Rykoff, Jim Bosch, Tim Jenness
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:

                Jenkins

                  No builds found.