Skip to content

Fix get_error query #1267

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

Merged
merged 2 commits into from
Apr 1, 2022
Merged

Fix get_error query #1267

merged 2 commits into from
Apr 1, 2022

Conversation

rylev
Copy link
Member

@rylev rylev commented Apr 1, 2022

As has been noted, the status page shows old benchmarks in the section on build success. This is because the query for errors is incorrect.

The code previously made the assumption that the set of benchmarks that have ever had an error and the set of benchmarks run for the artifact in question are the same, but this has long not been true (and is very, very not true now).

First, we need to change the sql query: When doing a left join, all rows from the left table (in this case error_series) will be in the resulting table with the rows nulled out where the inner join condition is not met. This is not what we want. Instead, we want an inner join which only selects row where the join condition is met.

However, the frontend still makes the assumption that the status page shows all the benchmarks that were run for the previous commit. But we can no longer rely on the get_error data giving us that data.

There are two ways to go about fixing this:

  • Add a query for figuring out what benchmarks were run for a given artifact id. Then combine those artifacts with the data about which of them errored out. This would keep the front end experience the same (only with the correct data)
  • Change the frontend experience to only display errors. The successfully built benchmarks will not be shown.

Because option 2 is simpler, I went with that for now, but we can discuss whether we want to actually go with option 1.

@rylev rylev requested a review from Mark-Simulacrum April 1, 2022 12:58
@Mark-Simulacrum
Copy link
Member

Option 1 might be nice in combination with showing the duration of each benchmark (and the total current runtime). But the best way to do that may be to leave the progress bars up after completion or something like that.

Copy link
Member

@Mark-Simulacrum Mark-Simulacrum left a comment

Choose a reason for hiding this comment

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

I'm good with merging this in the meantime though.

@rylev rylev merged commit 6d52897 into rust-lang:master Apr 1, 2022
@rylev rylev deleted the fix-get-error branch April 1, 2022 15:02
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