Conversation
rpanfili
force-pushed
the
fail_run
branch
5 times, most recently
from
April 2, 2026 15:43
1bb4dd8 to
51b9b2b
Compare
…ortWorkflow.run()
…ystemExit on failure
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Problem
URL handler failures (HTTP 403s, YARRRML parse errors) were silently swallowed —
the cloud workflow exited 0 with no record of what failed.
What changed
Failure capture
FailedUrldataclass (timestamp, url, handler name, message) andKgImportResult(url count, failures,okproperty, elapsed seconds) as thetyped return value of
KgImportWorkflow.run()DefaultUrlHandlernow accumulates failures per handler instead of logging anddiscarding them
rml_mapping.apply_mappingnow re-raises on processing errors (YARRRML parse,missing dataset URI) instead of returning
MappingResult(graph=None), somapping failures propagate through the protocol into
KgImportResult.failuresalongside HTTP failures
run_cloud_workflowandmain.run_kg_import_workflowboth raiseSystemExit("Total URLs: X, Successes: Y, Failures: Z")on failureReporting
report_utilmodule:render_as_markdown,render_as_csv,write_reportCloudWorkflowConfig.output_diris set, writesgraph_sync_report.md(always) and
graph_sync_failures.csv(on failure only)rate, and execution time; top-10 error groups with count, stable key, clickable
example URL, and full error message; overflow note when distinct error types
exceed the limit
timestamp, url, errorper failed URL