Skip to content

Last DocumentationJobFacet received is stored (even if it is null) #1937

@error418

Description

@error418

I am currently experimenting with Marquez and OpenLineage. Just wanted to check back, if this behaviour is intended (or it is a bug):

Steps to reproduce

  1. ✔️ Sending Lineage Job START Event with DocumentationJobFacet containing information
  2. ✔️ Marquez displays the documentation contents in the Web UI for the Job
  3. ✔️ Sending Lineage Job COMPLETED Event containing no DocumentationJobFacet
  4. ❔ Marquez deletes the previously provided documentation, displaying no documentation contents

Observations

It looks like the following Upsert

JobRow job =
jobDao.upsertJob(
UUID.randomUUID(),
getJobType(event.getJob()),
now,
namespace.getUuid(),
namespace.getName(),
event.getJob().getName(),
description,
jobContext.getUuid(),
location,
jobDao.toJson(toDatasetId(event.getInputs()), mapper));

causes the last sent DocumentationJobFacet to win, even if it is null.

With this behaviour one needs to send the DocumentationJobFacet for every request made to the OpenLineage API backend (probably also including OTHER Events) to ensure the documentation is always visible in Marquez.

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    Status

    No status

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions