Fixes #20007 - DBT Cloud Ingestion Fail (#20162)

This commit is contained in:
Keshav Mohta 2025-03-12 17:24:52 +05:30 committed by GitHub
parent cbe1849fb9
commit 8a6ab74265
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 39 additions and 10 deletions

View File

@ -171,13 +171,9 @@ class OMetaLineageMixin(Generic[T]):
except APIError as err: except APIError as err:
logger.debug(traceback.format_exc()) logger.debug(traceback.format_exc())
logger.error( error = f"Error {err.status_code} trying to PUT lineage for {data.model_dump_json()}: {str(err)}"
"Error %s trying to PUT lineage for %s: %s", logger.error(error)
err.status_code, return {"error": error}
data.model_dump_json(),
str(err),
)
raise err
from_entity_lineage = self.get_lineage_by_id( from_entity_lineage = self.get_lineage_by_id(
data.edge.fromEntity.type, str(data.edge.fromEntity.id.root) data.edge.fromEntity.type, str(data.edge.fromEntity.id.root)
@ -397,6 +393,10 @@ class OMetaLineageMixin(Generic[T]):
resp = self.add_lineage( resp = self.add_lineage(
lineage_request.right, check_patch=check_patch lineage_request.right, check_patch=check_patch
) )
if resp.get("error"):
logger.error(resp["error"])
continue
entity_name = resp.get("entity", {}).get("name") entity_name = resp.get("entity", {}).get("name")
for node in resp.get("nodes", []): for node in resp.get("nodes", []):
logger.info( logger.info(

View File

@ -251,6 +251,13 @@ class MetadataRestSink(Sink): # pylint: disable=too-many-public-methods
@_run_dispatch.register @_run_dispatch.register
def write_lineage(self, add_lineage: AddLineageRequest) -> Either[Dict[str, Any]]: def write_lineage(self, add_lineage: AddLineageRequest) -> Either[Dict[str, Any]]:
created_lineage = self.metadata.add_lineage(add_lineage, check_patch=True) created_lineage = self.metadata.add_lineage(add_lineage, check_patch=True)
if created_lineage.get("error"):
return Either(
left=StackTraceError(
name="AddLineageRequestError", error=created_lineage["error"]
)
)
return Either(right=created_lineage["entity"]["fullyQualifiedName"]) return Either(right=created_lineage["entity"]["fullyQualifiedName"])
@_run_dispatch.register @_run_dispatch.register

View File

@ -258,6 +258,7 @@ export interface Style {
* Description of the change. * Description of the change.
*/ */
export interface ChangeDescription { export interface ChangeDescription {
changeSummary?: { [key: string]: ChangeSummary };
/** /**
* Names of fields added during the version changes. * Names of fields added during the version changes.
*/ */
@ -276,6 +277,29 @@ export interface ChangeDescription {
previousVersion?: number; previousVersion?: number;
} }
export interface ChangeSummary {
changedAt?: number;
/**
* Name of the user or bot who made this change
*/
changedBy?: string;
changeSource?: ChangeSource;
[property: string]: any;
}
/**
* The source of the change. This will change based on the context of the change (example:
* manual vs programmatic)
*/
export enum ChangeSource {
Automated = "Automated",
Derived = "Derived",
Ingested = "Ingested",
Manual = "Manual",
Propagated = "Propagated",
Suggested = "Suggested",
}
export interface FieldChange { export interface FieldChange {
/** /**
* Name of the entity field that changed. * Name of the entity field that changed.

View File

@ -501,8 +501,6 @@
"execution-time": "Ausführungszeit", "execution-time": "Ausführungszeit",
"exit-fit-to-screen": "Vollbild verlassen", "exit-fit-to-screen": "Vollbild verlassen",
"exit-full-screen": "Vollbildmodus beenden", "exit-full-screen": "Vollbildmodus beenden",
"exit-version-history": "Exit Version History",
"expand": "Expand",
"exit-version-history": "Versionshistorie verlassen", "exit-version-history": "Versionshistorie verlassen",
"expand": "Erweitern", "expand": "Erweitern",
"expand-all": "Alles erweitern", "expand-all": "Alles erweitern",
@ -1182,8 +1180,8 @@
"show": "Anzeigen", "show": "Anzeigen",
"show-deleted": "Gelöschte anzeigen", "show-deleted": "Gelöschte anzeigen",
"show-deleted-entity": "{{entity}} anzeigen", "show-deleted-entity": "{{entity}} anzeigen",
"show-less-lowercase": "Weniger anzeigen",
"show-less": "Weniger anzeigen", "show-less": "Weniger anzeigen",
"show-less-lowercase": "Weniger anzeigen",
"show-log-plural": "Logs anzeigen", "show-log-plural": "Logs anzeigen",
"show-more": "Mehr anzeigen", "show-more": "Mehr anzeigen",
"show-more-entity": "Mehr {{entity}} anzeigen", "show-more-entity": "Mehr {{entity}} anzeigen",