Skip to content

As a data engineer, I want registry-loader to initialize ops:Provenance/ops:registry_sweepers_ancestry_completed = false upon initial product loadΒ #84

Description

@jordanpadams

Checked for duplicates

Yes - I've already checked

πŸ§‘β€πŸ”¬ User Persona(s)

Data Engineer, Node Operator

πŸ’ͺ Motivation

...so that when products are first loaded into the registry, the ancestry-completion flag is explicitly initialized to false, enabling the ancestry sweeper (NASA-PDS/registry-sweepers#243) to reliably identify products that still need ancestry processing and downstream tools to distinguish "not yet processed" from "processed and complete."

πŸ“– Additional Details

The ancestry sweeper in registry-sweepers will set ops:Provenance/ops:registry_sweepers_ancestry_completed = true on bundle and collection documents once all their members have been successfully processed. For this flag to be meaningful, it must be explicitly initialized to false at the time products are first ingested into the registry by registry-loader.

Without this initialization, documents that have never been processed by the ancestry sweeper will be indistinguishable from those that were processed but had all members resolve successfully (both would show the field as absent or unset).

Required change: When registry-loader writes a product document (bundle or collection) to the registry index, it should include ops:Provenance/ops:registry_sweepers_ancestry_completed = false in the initial document payload.

This applies to all product types that are subject to ancestry sweeper processing: bundles and collections. Non-aggregate products (observations, etc.) do not require this flag since they are the targets of ancestry writes, not the sources.

Acceptance Criteria

Given a bundle or collection product is loaded into the registry by registry-loader
When the document is written to the OpenSearch registry index
Then ops:Provenance/ops:registry_sweepers_ancestry_completed is set to false in the initial document

Given a non-aggregate product (e.g., Product_Observational) is loaded into the registry
When the document is written to the registry index
Then no ops:Provenance/ops:registry_sweepers_ancestry_completed field is required (field is not applicable)


For Internal Dev Team To Complete

βš™οΈ Engineering Details

πŸŽ‰ I&T

Metadata

Metadata

Assignees

Labels

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions