lineagevalidation

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 13, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package lineagevalidation re-checks ingested lineage whose endpoints the metadata registry did not know when it was stored.

Ingestion keeps such an edge because it cannot tell a table created after the last schema sync from one that never existed, so the edge is stored unchecked. A schema sync is what changes that: the relation the edge named may exist now, and waiting for the maintenance pass' six-hour interval is a poor bound on noticing. The syncer signals this runner when it has committed metadata, and the runner coalesces the signals into one pass, so a round of database syncs costs one revalidation.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Revalidator

type Revalidator interface {
	RevalidateContradictedColumnClaims(ctx context.Context, limit int) (revalidated, stillUnknown int, err error)
}

Revalidator re-checks ingested lineage whose column claims a relation that appeared after ingestion contradicts, exactly as the maintenance pass does on its interval.

type Runner

type Runner struct {
	// contains filtered or unexported fields
}

Runner revalidates ingested lineage after a schema sync commits.

func NewRunner

func NewRunner(revalidator Revalidator) *Runner

NewRunner creates a revalidation runner.

func (*Runner) Run

func (r *Runner) Run(ctx context.Context, wg *sync.WaitGroup)

Run blocks until ctx is cancelled, then signals wg.Done().

func (*Runner) Trigger

func (r *Runner) Trigger()

Trigger requests a pass once the current sync round has settled. It never blocks: its caller is a schema sync, which must not wait for lineage work.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL