Uploaded image for project: 'Evergreen'
  1. Evergreen
  2. EVG-8726

Create backstop change point bootstrapper in Cedar

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: plt
    • Labels:
      None

      Description

      As a DAG engineer,
      I'd like to have a backstop route in Cedar to reprovision its entire database with change points.
      Such that, we can have an initial dataset to use, can use the functionality in other areas, and can reprovision the database if needed.

      AC:

      • Expose a route "/perf/signal_processing/recalculate" that raises a change point reprovisioning event and then returns '200/OK'
      • Add change point reprovisioning event handler to handle the raised event:
      • Block any further events in the analysis/change_points channel (however that is implemented in Cedar)
      • Cancel any jobs related to analysis/change_points that may already be running (they should exit gracefully on their own)
      • Sequentially load time series metric by metric; use change point detector interface to generate change points for them; once new change points are acquired, evict the old ones for the metric and persist the new ones --> continue to next metric in new transaction
      • Log progress and milestones appropriately
      • Close out the job gracefully regardless of outcome --> log success or metric by metric exceptions as need be and finish successfully

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              backlog-server-dag Backlog - Decision Automation Group (DAG)
              Reporter:
              alexander.costas Alexander Costas
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: