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

Using custom target for rerun jobs #5241

Open
sophia-guo opened this issue Apr 18, 2024 · 4 comments
Open

Using custom target for rerun jobs #5241

sophia-guo opened this issue Apr 18, 2024 · 4 comments
Assignees

Comments

@sophia-guo
Copy link
Contributor

Rerun job with failed targets might be costly. There might be a few test cases failures but the test target might include a few hundred of test cases. Also with failed targets some original passing test cases may fail as intermittent failure or fail on some agents.

For openjdk and jck tests rerun job can be updated to use custom targets to only run failed test cases instead of test targets.

One example of running time difference
#5016 (comment)

If the set of failed test cases is too big as jenkins parameter to trigger the job a check can be added to run the failed target instead.

Part of #5016

@sophia-guo
Copy link
Contributor Author

Openjdk has two custom targets, jck has four custom targets.

Currently each test build can only trigger one custom target. That is if more than one custom target is needed we need to trigger rerun build more than once correspondingly. Or can **_custom target can be triggered as TESTLIST so multiple custom target can be run? ( need to invesitgate).

The other thing is the limitation of the hppt url parameter length. There may be situations that a set of test cases fail ( due to setting issues or machine issues) so the string CUSTOM_TARGET is too long as the url parameter. For this case we may either divide the CUSTOM_TARGET to small sets and trigger the rerun multiple times or just fall back to failed targets. Falling back to failed targets might make more sense as this situation most likely some test cases setting issue or environment issues.

@smlambert
Copy link
Contributor

smlambert commented Apr 25, 2024

I think it is fair to simply handle the simple case (which are frequent), logic:

if ((test case failure list belongs to only one type of custom list) && (failed test cases string is below the URI too long limit)) then { 
    trigger rerun as a custom target 
} else {
    trigger the failed targets to be  rerun // as we currently do
}

There are many cases that match this simple case, and it would help to reduce execution time without being too complicated.

@sophia-guo
Copy link
Contributor Author

Not sure what is the maximum of Adoptiums jenkins header size. As Jenkins header size can be set/configured we may not need to know exactly the size. In most cases failed test cases should not be too long unless some environment issues or test setting issues, for which case we may just switch back to failed targets. I would suggest set the number of testcases as 50 for now. If not good can change later.

@smlambert
Copy link
Contributor

I would suggest set the number of testcases as 50 for now. If not good can change later.

It would be somewhat easy to test this, by finding one of the machines that throw "no route to host" error and run jdk_net and jdk_nio targets or some such (can look at triage issues to find an example).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

No branches or pull requests

2 participants