Most commonly, a change for OpenJDK 11 updates is a backport of a change that has been made in a higher OpenJDK version.
There are a few cases though, where a net new change for OpenJDK 11 updates needs to be made, e.g. because
a fix would not apply to higher OpenJDK versions that are in maintenance.
For the common case of a backport, here is the detailed recipe of what to do:
1. Check the original JBS issue on https://bugs.openjdk.java.net/
- Carefully check linked issues whether there are follow-up fixes that need to be brought with the backport.
- If there are relevant issues that prevent clean backport, consider backporting those first (within reason).
- Open the link to the original commit and note its repository and changeset number.
2. Export the original commit from the original repository, e.g. by "hg export -r <changeset number> --git > <bugid>.patch
3. Apply the exported patch to the target repository (mostly jdk11u-dev), e.g. by using the mercurial mq extension: "hg qimport <bugid>.patch && hg qpush"
- This approach will make sure that the changeset metadata is kept (original authors, Reviewed-by lines, etc.)
- Resolve the patch and make necessary adaptions if it doesn't apply cleanly.
4. Test the patch
- "tier1" tests should be passing at all times.
- Run tests from the area that the patch affects.
- New regression tests that come with the patch should pass.
5. If the original patch was modified, get the change reviewed on the mailing list.
- It is advised to do the review at the jdk-updates-dev mailing list and optionally cc the original mailing list.
- The mail subject should begin with "[11u]". It is helpful to state what changes were needed and why.
6. Request and await approval for the fix.
- Put the jdk11u-fix-request tag and add a "Fix Request" comment on the issue, that explains why the fix should be backported, what testing was done, a risk estimate, etc.
- Wait for maintainer approval, which would manifest as jdk11u-fix-yes tag on the issue.
7. If the change needs a CSR?
- Manually create a backport issue in JBS, targeted to 11-pool. This issue will be resolved when the change is pushed.
- From that 11-pool issue, create a new CSR and copy/paste the contents from the original CSR, making adaptions as necessary. The new CSR should also have version 11-pool.
- Run the CSR through its process to get it approved.
8. If and only if everything is approved, push the change.
In case you need to do a net new patch, specific to OpenJDK 11 updates, you need to create a JBS bug and start the above recipe from step 4.
If you are no OpenJDK author, that is, you don't have a JBS user account, you'll have to ask for help (e.g. on the mailing list) for step 6 and 7.
If you are no jdk-updates committer, you'll have to do the same for step 8.
Overview
Content Tools
ThemeBuilder