Uploaded image for project: 'Red Hat 3scale API Management'
  1. Red Hat 3scale API Management
  2. THREESCALE-4620

ActiveJob::DeserializationError : Couldn't find Account in BackendDeleteServiceWorker

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 2.9 GA
    • None
    • System
    • None
    • Not Started
    • Not Started
    • Not Started
    • Not Started
    • Not Started
    • Not Started

      Reason of the error

      1. The DeleteAccountHierarchyWorker performs for its associations, including its services
      2. The services of the account get destroyed and a ServiceDeletedEvent is created for each one of them.
      3. As the associations of the account are already deleted, the account gets deleted.
      4. The subscriber of ServiceDeletedEvent calls BackendDeleteServiceWorker sending the event. It tries to deserialize it but it cannot do it because the account has already been deleted.

      What should happen in this case

      The goal is to be able to remove the tenant and its associations in system and also notify apisonator, etc.

      What we decided to do

      We won't save the tenant at all for this event, only its ID. And the full object will be loaded when needed only, and then raise an error in that case if it does not exist anymore but it is needed for that specific feature.

              Unassigned Unassigned
              mnoyabon Marta Noya (Inactive)
              Marta Noya Marta Noya (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: