Request for Sponsorship for Collaboration with OpenJDK
Severin Gehwolf
sgehwolf at redhat.com
Wed Feb 8 10:37:31 UTC 2023
Hi,
On Wed, 2023-02-08 at 10:13 +0000, Henry GALVEZ wrote:
> Hi Severin
>
> After reviewing the guidelines, I understand that I need to:
>
> 0. Have SKARA installed
Not necessarily. Plain git works too (if you know what to do). Up to
you.
> 1. Review the issue;
> 1.a. JDK-8293562 states that the JDK-8299602 ticket has been
> resolved and the JDK-8297063 is closed, both with the note that they
> use the Oracle version. Does this mean I can work on the backport?
JDK-8293562 is the master bug. JDK-8299602 referenced as a "Backport"
means that there is a backport of that bug to Oracle JDK 11.0.18.0.1.
Since Oracle JDK 11 is proprietary (backports aren't shared), we'd have
to do an equivalent backport to *OpenJDK 11.0.x*. It would likely go
into 11.0.19 (to be released in April) if the fix makes it in time
before rampdown. We don't do patch updates unless there is a very
severe regression in one of the OpenJDK updates done quarterly (11.0.18
was the one released in January 2023).
As there is no linked backport with "Fix Version" 11.0.19, nobody
backported this yet to OpenJDK 11. Before starting with a fix it would
be good to have a way that reproduces the problem. That allows you to
verify that the actual backport works (other testing would then ensure
it doesn't break anything else).
For example JDK-8296793 is the Oracle JDK 17 backport (no link to a
patch). JDK-8299372 is the equivalent for OpenJDK 17, which has a link
to the patch:
https://git.openjdk.org/jdk17u-dev/commit/244d1942d2e9f2ba75267acc16a02041c1e8080e
> 2. Create a fork of https://github.com/openjdk/jdk-dev
For JDK 11 the development repo is
https://github.com/openjdk/jdk11u-dev. Create a fork of that. Verify
that you can build the JDK, verify that you can run tests. See:
https://github.com/openjdk/jdk11u-dev/blob/master/doc/testing.md
> 3. Create a branch jdk-8297063-backport
Yep. You can call the branch whatever you want. What you suggest seems
a sensible name.
>
> 4. Do a git fetch of the repo https://github.com/openjdk/jdk, but I
> am unsure of which commit-sha to take, should it be the latest from
> version 11.0.17 or the one that fixes the error in version 17.0.7?
I'd go with the commit closest to the version you want to backport to.
So in this case, the OpenJDK 17 fix. So fetch from:
https://github.com/openjdk/jdk17u-dev
Sha 244d1942d2e9f2ba75267acc16a02041c1e8080e
> 5. Do the cherry-pick of the same sha
Yes.
> 6. Correct any conflicts
Yes.
> 7. Create a commit with the backporting message, e.g. Backport
> commit-sha
Commit message doesn't actually matter, but once you create a PR here:
https://github.com/openjdk/jdk11u-dev it ought to have the *PR title*
"Backport 03f25a9c6924430ec4063b801b2b6ca55b9067c9" which is the
original SHA from JDK head.
> 8. Perform tier1, tier2, and area-affected tests, in this case;
> test/jdk/sun/net/www/http/
Yes.
> 9. Perform regression tests, in this case;
> test/jdk/sun/net/www/http/KeepAliveCache/KeepAliveTimerThread.java
Yep. Verify the test fails on unpatched, passes on patched JDK 11.
> 10. Push to my fork for Git Actions to validate my code
Yes.
> 11. Create the pull request of the branch in my fork to the jdk-dev
> repo using '> git pr create --publish'
Yes, or use the regular git push => create PR via github UI workflow.
> 12. Request assistance on the mailing list for modify the ticket on
> JBS and follow up the pull request.
>
> I would greatly appreciate your help, or anyone's, to see if I
> understood the process correctly.
I've added a comment on JDK-8293562 that you're working on an 11u
backport so that others are aware.
Good luck!
Cheers,
Severin
More information about the jdk-updates-dev
mailing list