-
Notifications
You must be signed in to change notification settings - Fork 323
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pipeline failures #443
Pipeline failures #443
Conversation
/// </summary> | ||
[JsonPropertyOrder(19)] | ||
[JsonPropertyName("logs")] | ||
public string? Logs { get; set; } = null; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would avoid the "string" type which limits to a single unstructured entry, and use List<PipelineLogEntry> LogEntries
if this is really needed. Thinking about the scenarios, I still don't see a use case though.
/// </summary> | ||
[JsonPropertyOrder(6)] | ||
[JsonPropertyName("failed")] | ||
public bool Failed { get; set; } = false; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
how do we ensure this is consistent?
for instance, if ContentStorage becomes unavailable and the pipeline job expires, the value will remain false
and never change to true
because there's nothing left running to retry.
/// </summary> | ||
[JsonPropertyOrder(19)] | ||
[JsonPropertyName("logs")] | ||
public string? Logs { get; set; } = null; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ditto about consistency. I think a better approach would be assigning an approximate completion time and using that to establish if the pipeline failed (one scenario would be "it failed because it timed out")
} | ||
else | ||
catch (Exception ex) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
which code is throwing this exception? why stop retrying?
} | ||
else | ||
catch (Exception ex) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ditto, where is the exception coming from? e.g. if UpdatePipelineStatusAsync
is failing in the try
block it will likely fail also in the catch
block
The @dluc Your idea about assigning an approximate completion time and use it to determine the status of the pipeline is quite interesting and will allow to add the failure management without touching the Orchestrators at all, but how to determine a suitable value for the completion time? Maybe it could be a setting in configuration, that is saved in the |
Parking this for now, since nobody else has raised similar concerns. |
Motivation and Context (Why the change? What's the scenario?)
See #432.