Skip to content

GONRG-2696: Manifest integrity batch search

Type of change

  • Bug Fix
  • Feature

Does this introduce a change in the core logic?

  • [Yes]

Does this introduce a change in the cloud provider implementation, if so which cloud?

  • AWS
  • Azure
  • GCP
  • IBM

Updates description?

Reimplement logic of Manifest Integrity Check.

Before this MR, each entity of the Manifest was traversed during Manifest Integrity check. During this traversing, references to other entities (both in the Manifest or on OSDU) were collected and if they weren't present in Manifest, they were searched in Search service. And if there were missing entities on OSDU, then the entity containing these missing references was excluded from the manifest. This sequence of actions were repeating for each entity in the Manifest.

Now, the process of Integrity Check has following steps:

  1. Traverse the Manifest and create the dependency graph with parent-child relations between entities. Referrer is a child, referent is a parent.
  2. If there are references to entities not in the Manifest, mark such entities as external.
  3. Try to find all external entities in Search Service splitting the list of external entities into chunks.
  4. If there are missing entities (records) on OSDU, mark them and their children (referrers) as invalid and exclude them from the manifest.
Edited by Yan Sushchynski (EPAM)

Merge request reports