Skip to content

Conversation

@cost0much
Copy link
Contributor

@cost0much cost0much commented Oct 28, 2025

Clean backports. Fixes miscalculation of Parallal GC ergonomics; followup backports to fix related gtest (JDK-8333674 is trivial and backported so that JDK-8331675 is clean). New test passes with change, fails without. Changes pass GHA and internal Amazon pipelines: jtreg tier1-4 on platforms linux x64, aarch64, aarch32; alpine x64, aarch64; mac aarch64, x64; windows x64.


Progress

  • Change must be properly reviewed (1 review required, with at least 1 Reviewer)
  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • JDK-8331675 needs maintainer approval
  • JDK-8272364 needs maintainer approval
  • JDK-8333674 needs maintainer approval

Warning

 ⚠️ Found leading lowercase letter in issue title for 8331675: gtest CollectorPolicy.young_min_ergo_vm fails after 8272364

Issues

  • JDK-8272364: Parallel GC adaptive size policy may shrink the heap below MinHeapSize (Bug - P4 - Requested)
  • JDK-8333674: Disable CollectorPolicy.young_min_ergo_vm for PPC64 (Sub-task - P3 - Requested)
  • JDK-8331675: gtest CollectorPolicy.young_min_ergo_vm fails after 8272364 (Bug - P4 - Requested)

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk21u-dev.git pull/2419/head:pull/2419
$ git checkout pull/2419

Update a local copy of the PR:
$ git checkout pull/2419
$ git pull https://git.openjdk.org/jdk21u-dev.git pull/2419/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 2419

View PR using the GUI difftool:
$ git pr show -t 2419

Using diff file

Download this PR as a diff file:
https://git.openjdk.org/jdk21u-dev/pull/2419.diff

Using Webrev

Link to Webrev Comment

@bridgekeeper
Copy link

bridgekeeper bot commented Oct 28, 2025

👋 Welcome back cost0much! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk
Copy link

openjdk bot commented Oct 28, 2025

❗ This change is not yet ready to be integrated.
See the Progress checklist in the description for automated requirements.

@openjdk openjdk bot changed the title Backport 6bef0474c8b8773d0d20c0f25c36a2ce9cdbd7e8 8272364: Parallel GC adaptive size policy may shrink the heap below MinHeapSize Oct 28, 2025
@openjdk
Copy link

openjdk bot commented Oct 28, 2025

This backport pull request has now been updated with issue from the original commit.

@openjdk openjdk bot added the backport Port of a pull request already in a different code base label Oct 28, 2025
@cost0much
Copy link
Contributor Author

/issue add JDK-8333674
/issue add JDK-8331675

@openjdk
Copy link

openjdk bot commented Oct 28, 2025

@cost0much
Adding additional issue to issue list: 8333674: Disable CollectorPolicy.young_min_ergo_vm for PPC64.

@openjdk
Copy link

openjdk bot commented Oct 28, 2025

@cost0much
Adding additional issue to issue list: 8331675: gtest CollectorPolicy.young_min_ergo_vm fails after 8272364.

@cost0much cost0much marked this pull request as ready for review November 6, 2025 19:07
@openjdk openjdk bot added the rfr Pull request is ready for review label Nov 6, 2025
@mlbridge
Copy link

mlbridge bot commented Nov 6, 2025

Webrevs

@openjdk
Copy link

openjdk bot commented Nov 7, 2025

⚠️ @cost0much This change is now ready for you to apply for maintainer approval. This can be done directly in each associated issue or by using the /approval command.

@cost0much
Copy link
Contributor Author

/approval 8331675 request Removes failing gtest after JDK-8272364. Applies cleanly from JDK24 and no bugtail. Passes GHA and jtreg tier1-4 on main platforms; see PR for more details. Low risk as only test code change, moreover was already backported to JDK 23.

/approval 8333674 request Disables a gtest for platform PPC64; this change backported only to make JDK-8331675 clean: the test is removed in multi-issue backport. Applies cleanly from JDK23 and no bugtail. Passes GHA and jtreg tier1-4 on main platforms; see PR for more details. Very low risk only test code change (and changes aren't actually backported)

/approval 8272364 request Fixes miscalculation of Parallal GC ergonomics. Applies cleanly from JDK23 and subsequent failing test fixes are included in multi-issue PR. Passes GHA and jtreg tier1-4 on main platforms; see PR for more details. Medium risk given hotspot change, but risk is mitigated by extensive tests and moreover this change was backported to JDK22.

@openjdk
Copy link

openjdk bot commented Nov 7, 2025

@cost0much
8331675: The approval request has been created successfully.

@openjdk
Copy link

openjdk bot commented Nov 7, 2025

@cost0much
8333674: The approval request has been created successfully.

@openjdk
Copy link

openjdk bot commented Nov 7, 2025

@cost0much
8272364: The approval request has been created successfully.

@openjdk openjdk bot added the approval Requires approval; will be removed when approval is received label Nov 7, 2025
@GoeLin
Copy link
Member

GoeLin commented Nov 12, 2025

Hi @cost0much
Why do you merge this into one PR? If it is clean, it would be much better to have three PRs.
You can do dependent PRs, i.e. for the second make a branch on top of the first, and in the PR
use the git branch of the first RP to compare to.

Also, please give a reason why you want to backport JDK-8272364

@cost0much
Copy link
Contributor Author

@GoeLin Ah, that's my bad. I assumed that given the subsequent test failures of JDK-8272364, an atomic merge would be preferred. I can re-open with multiple PRs if that's better.

The justification for JDK-8272364 is that the current behavior is incorrect, and the issue was significant enough to warrant a backport to 22. Moreover, the risk is comparatively low for hotspot backports, given the lack of bugtail (besides some failing tests). The only major risk I see is if 21 users are already reliant on the current incorrect behavior; if that's a main consideration, then this backport can be abandoned.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approval Requires approval; will be removed when approval is received backport Port of a pull request already in a different code base rfr Pull request is ready for review

Development

Successfully merging this pull request may close these issues.

3 participants