• Product / Portfolio Work
    • 5
    • False
    • Hide

      None

      Show
      None
    • False
    • None
    • Unset

      As part of RHCLOUD-42396, Inventory API must accept an transaction ID as part of the request and leverage the transaction ID via database checks to ensure a previously processed request is not re-processed

      • transaction ID can be captured in representation.metadata portion of request and should be added as an optional field in proto files
      • When not provided, Inventory API should generate a transaction ID to use
      • This change is reliant on updates to the database to include the new event_id rows

      Expected Flow:
      KIA as part of processing performs the following:

      • If resource not found, create it (for ReportResource) or return 404 (for DeleteResource)
      • If resource found, check the reporter/common rep tables for the transaction to ensure it has not been processed before
        • If it has not – processes the request as normal, with the added step of updating the transaction in common/reporter rep tables
        • If it has – does nothing, no updates to DB or outbox, returns 200

      Note on event id updates in rep tables

      • if only common is updated, a row will be inserted only into common_representation and transaction would be populated
      • if only reporter is updated, a row will be inserted only into reporter_representation and transaction would be populated
      • if both are updated, rows will be inserted into both common_representation and reporter_representation and transaction would be populated

              anatale.openshift Antony Natale
              anatale.openshift Antony Natale
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: