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

Remove lsst.meas.base.MeasurementError

    XMLWordPrintable

    Details

    • Urgent?:
      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

            No builds found.
            jbosch Jim Bosch created issue -
            jbosch Jim Bosch made changes -
            Field Original Value New Value
            Description MeasurementError exists in meas_base as a way to 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-33523) 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 delating 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.
            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-33523) 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.
            tjenness Tim Jenness made changes -
            Link This issue relates to DM-33523 [ DM-33523 ]
            tjenness Tim Jenness made changes -
            Link This issue relates to DM-33523 [ DM-33523 ]
            tjenness Tim Jenness made changes -
            Link This issue relates to DM-35239 [ DM-35239 ]
            tjenness Tim Jenness made changes -
            Link This issue relates to DM-35206 [ DM-35206 ]
            tjenness Tim Jenness made changes -
            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-33523) 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.
            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.
            tjenness Tim Jenness made changes -
            Link This issue is triggering DM-35265 [ DM-35265 ]
            tjenness Tim Jenness made changes -
            Link This issue is triggering DM-35292 [ DM-35292 ]

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              jbosch Jim Bosch
              Watchers:
              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.