diff --git a/metadata-ingestion/src/datahub/cli/ingest_cli.py b/metadata-ingestion/src/datahub/cli/ingest_cli.py index 830b65007d..30b3739b7d 100644 --- a/metadata-ingestion/src/datahub/cli/ingest_cli.py +++ b/metadata-ingestion/src/datahub/cli/ingest_cli.py @@ -102,11 +102,21 @@ def run( raise SensitiveError() from e logger.info("Starting metadata ingestion") - pipeline.run() - logger.info("Finished metadata ingestion") - ret = pipeline.pretty_print_summary(warnings_as_failure=strict_warnings) - pipeline.log_ingestion_stats() - sys.exit(ret) + try: + pipeline.run() + except Exception as e: + logger.info( + f"Source ({pipeline.config.source.type}) report:\n{pipeline.source.get_report().as_string()}" + ) + logger.info( + f"Sink ({pipeline.config.sink.type}) report:\n{pipeline.sink.get_report().as_string()}" + ) + raise e + else: + logger.info("Finished metadata pipeline") + pipeline.log_ingestion_stats() + ret = pipeline.pretty_print_summary(warnings_as_failure=strict_warnings) + sys.exit(ret) def get_runs_url(gms_host: str) -> str: