Uploaded image for project: 'PuppetDB'
  1. PuppetDB
  2. PDB-2732

Refactor retry/discard logic for "in-memory" attempts

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: PDB 4.2.0
    • Component/s: None
    • Labels:
      None

      Description

      Currently, PDB failures get enqueued into the "scheduler" queue and get resubmitted to the regular queue after some amount of time has passed. Instead, the flow should be as follows

      1. Upon failure, the message is retried in-memory 10* times
      2. After 10* failures, the message progresses to 2nd level failure
      3. Message is retried 10* times for each 2nd level failure
      4. After 5* 2nd level failures, progresses to 3rd level
      5. 3rd level, the message is discarded, i.e. DLQ

      Any number that has a '*' by it means it should be configurable. For now, second level can be the normal failure case (i.e. being delayed and reenqueued). Once the threadpools get in place, we will change this to scheduling a thread in memory to retry the message. To do these we need the new threadpool in place (separate ticket) then work to change this 2nd level behavior (separate ticket).

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned
              Reporter:
              ryan.senior Ryan Senior
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Zendesk Support