Skip to content
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

Gracefully continue if createStatusReportBase throws #2225

Merged
merged 1 commit into from
Apr 4, 2024

Conversation

angelapwen
Copy link
Contributor

@angelapwen angelapwen commented Apr 4, 2024

Previously, we weren't catching any possible exceptions in createStatusReportBase and runs would fail if any of the telemetry sub-items threw exceptions. As telemetry should not block the analysis, we continue here even if the status report throws.

Merge / deployment checklist

  • Confirm this change is backwards compatible with existing workflows.
  • Confirm the readme has been updated if necessary.
  • Confirm the changelog has been updated if necessary.

@angelapwen angelapwen force-pushed the angelapwen/audit-status-report-exceptions branch from 788a476 to 17bf96c Compare April 4, 2024 21:09
Previously, we weren't catching any possible exceptions in `createStatusReportBase` and runs would fail if any of the telemetry sub-items threw exceptions. As telemetry should not block the analysis, we continue here even if the status report throws.
@angelapwen angelapwen force-pushed the angelapwen/audit-status-report-exceptions branch from 17bf96c to 9e8cae9 Compare April 4, 2024 21:12
@angelapwen angelapwen marked this pull request as ready for review April 4, 2024 21:25
@angelapwen angelapwen requested a review from a team as a code owner April 4, 2024 21:25
Copy link
Contributor

@aeisenberg aeisenberg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice. A few comments inline. If the answer to my question is "no", then this can go in as-is.

await statusReport.sendStatusReport(trapCacheUploadStatusReport);
} else {
await statusReport.sendStatusReport(report);
if (config && didUploadTrapCaches) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we ever reasonably expect config to be falsy, but didUploadTrapCaches to be true? If so, we might want to still upload in that case:

Suggested change
if (config && didUploadTrapCaches) {
if (didUploadTrapCaches) {

And the change below. But only if this is not already an error state.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think so — if config is undefined, we should be erroring out much earlier:

if (config === undefined) {
.

...report,
trap_cache_upload_duration_ms: Math.round(trapCacheUploadTime || 0),
trap_cache_upload_size_bytes: Math.round(
await getTotalCacheSize(config.trapCaches, logger),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only if also adding above.

Suggested change
await getTotalCacheSize(config.trapCaches, logger),
await getTotalCacheSize(config?.trapCaches || {}, logger),

status === "success" ||
status === "failure" ||
status === "aborted" ||
status === "user-error"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this change to configuration-error? (Not in this PR)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could: the configuration-error was codified in the overall job status (rather than status for each action, which is what this is). It would be nice to have them use the same syntax. But we would want to make sure that everyone consuming the data are aware about the transition, because we likely have existing monitors/queries/dashboards using user-error. I can write up an internal issue for this.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure. I'd say it's low priority since it's just changing a name.

@angelapwen angelapwen merged commit 7df281f into main Apr 4, 2024
593 checks passed
@angelapwen angelapwen deleted the angelapwen/audit-status-report-exceptions branch April 4, 2024 22:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants