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

8277946: NMT: Deprecate and remove VM.native_memory shutdown jcmd command option #6618

Closed

Conversation

zhengyu123
Copy link
Contributor

@zhengyu123 zhengyu123 commented Nov 30, 2021

NMT shutdown functionality is a remnant of its first implementation, which could consume excessive amount of memory, therefore, it needed capability to shut it self down to ensure health of JVM. This is no longer a case for new implementation.

NMT shutdown can be requested via Jcmd. However, it is rare used.

We should deprecate for shutdown Jcmd command for removing NMT shutdown functionality.

Corresponding CSR has been approved.


Progress

  • Change must not contain extraneous whitespace
  • Commit message must refer to an issue
  • Change must be properly reviewed

Issues

  • JDK-8277946: NMT: Deprecate and remove VM.native_memory shutdown jcmd command option
  • JDK-8277947: NMT: Deprecate and remove VM.native_memory shutdown jcmd command option (CSR) ⚠️ Issue is not open.

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk pull/6618/head:pull/6618
$ git checkout pull/6618

Update a local copy of the PR:
$ git checkout pull/6618
$ git pull https://git.openjdk.java.net/jdk pull/6618/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 6618

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

Using diff file

Download this PR as a diff file:
https://git.openjdk.java.net/jdk/pull/6618.diff

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Nov 30, 2021

👋 Welcome back zgu! 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 openjdk bot added the rfr label Nov 30, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Nov 30, 2021

@zhengyu123 The following label will be automatically applied to this pull request:

  • hotspot-runtime

When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command.

@openjdk openjdk bot added the hotspot-runtime label Nov 30, 2021
@mlbridge
Copy link

@mlbridge mlbridge bot commented Nov 30, 2021

Webrevs

Copy link
Member

@tstuefe tstuefe left a comment

Nice. Looks good. But that just removes the jcmd; I assume you remove the shutdown-on-OOM functionality, together with shutdown mechanics itself, in a separate RFE?

@openjdk
Copy link

@openjdk openjdk bot commented Nov 30, 2021

@zhengyu123 This change now passes all automated pre-integration checks.

ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.

After integration, the commit message for the final commit will be:

8277946: NMT: Deprecate and remove VM.native_memory shutdown jcmd command option

Reviewed-by: stuefe, shade, dholmes

You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.

At the time when this comment was updated there had been 27 new commits pushed to the master branch:

  • da2be99: 8277026: Remove blank lines remaining from snippet markup
  • 0a01baa: 8277986: Typo in javadoc of java.util.zip.ZipEntry#setTime
  • 7049c13: 8231107: Allow store password to be null when saving a PKCS12 KeyStore
  • ab867f6: 8272162: S4U2Self ticket without forwardable flag
  • dd73e3c: 8277814: ConcurrentRefineThread should report rate when deactivating
  • 65251f7: 8151594: Move concurrent refinement thread activation logging out of GC pause
  • f1c20e9: 8190748: java/text/Format/DateFormat/DateFormatTest.java and NonGregorianFormatTest fail intermittently
  • 2942646: 8276683: Malformed Javadoc inline tags in JDK source in com/sun/tools/javac/util/RawDiagnosticFormatter.java
  • e30e676: 8277606: String(String) constructor could copy hashIsZero
  • 5a4a9bb: 8278019: ProblemList java/awt/dnd/BadSerializationTest/BadSerializationTest.java on linux and windows
  • ... and 17 more: https://git.openjdk.java.net/jdk/compare/05ab1767684bee0a3b8c8214c610beafaad058f9...master

As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details.

➡️ To integrate this PR with the above commit message to the master branch, type /integrate in a new comment.

@openjdk openjdk bot added the ready label Nov 30, 2021
@zhengyu123
Copy link
Contributor Author

@zhengyu123 zhengyu123 commented Nov 30, 2021

Nice. Looks good. But that just removes the jcmd; I assume you remove the shutdown-on-OOM functionality, together with shutdown mechanics itself, in a separate RFE?

Thanks for the review, @tstuefe

Yes, I filed JDK-8277990 to remove the rest.

Copy link
Contributor

@shipilev shipilev left a comment

Looks fine. I wonder: was NMT_minimal the state after "shutdown"? If so, should it be removed too? (in separate PR, probably)

@zhengyu123
Copy link
Contributor Author

@zhengyu123 zhengyu123 commented Nov 30, 2021

Looks fine. I wonder: was NMT_minimal the state after "shutdown"? If so, should it be removed too? (in separate PR, probably)

Thanks for the review, @shipilev

Yes, NMT_minimal will be removed in followup CR 8277990.

Copy link
Member

@dholmes-ora dholmes-ora left a comment

Hi Zhengyu,

I am fine with removal of the shutdown option of the jcmd as presented, but as per the CSR request I think "Deprecate" has to be removed from this as nothing has been deprecated.

I'm not at all clear why the actual shutdown mechanics removal has been deferred to another issue - that would make sense if this PR actually just deprecated something, but as it is I would have expected everything to go. With RDP1 upon us I assume the actual removal will now be in 19.

Thanks,
David

@zhengyu123
Copy link
Contributor Author

@zhengyu123 zhengyu123 commented Dec 1, 2021

Hi Zhengyu,

I am fine with removal of the shutdown option of the jcmd as presented, but as per the CSR request I think "Deprecate" has to be removed from this as nothing has been deprecated.

I'm not at all clear why the actual shutdown mechanics removal has been deferred to another issue - that would make sense if this PR actually just deprecated something, but as it is I would have expected everything to go. With RDP1 upon us I assume the actual removal will now be in 19.

Thanks, David

Hi David,

Thanks for the review. I were not sure I should remove shutdown mechanics with this CR, as it only mentions jcmd part and there is auto-shutdown part also.

I already have the second change ready, will PR tomorrow, it is quite large through.

-Zhengyu

@zhengyu123
Copy link
Contributor Author

@zhengyu123 zhengyu123 commented Dec 1, 2021

/integrate

@openjdk
Copy link

@openjdk openjdk bot commented Dec 1, 2021

Going to push as commit abaa073.
Since your change was applied there have been 37 commits pushed to the master branch:

  • 37ff7f3: 8277866: gc/epsilon/TestMemoryMXBeans.java failed with wrong initial heap size
  • 8d7958e: 8277981: String Deduplication table is never cleaned up due to bad dead_factor_for_cleanup
  • bc6dce1: 8277736: G1: Allow forced evacuation failure of first N regions in collection set
  • 0c29ee5: 8274319: Replace usages of Collections.sort with List.sort call in jdk.jfr
  • f505396: 8277459: Add jwebserver tool
  • 84aa0a1: 8278047: Few javax/imageio test regressed after JDK-8262297 fix
  • fde0b95: 8277861: Terminally deprecate Thread.stop
  • 70d5dff: 8275326: C2: assert(no_dead_loop) failed: dead loop detected
  • 349328c: 8277777: [Vector API] assert(r->is_XMMRegister()) failed: must be in x86_32.ad
  • c733193: 8262297: ImageIO.write() method will throw IndexOutOfBoundsException
  • ... and 27 more: https://git.openjdk.java.net/jdk/compare/05ab1767684bee0a3b8c8214c610beafaad058f9...master

Your commit was automatically rebased without conflicts.

@openjdk openjdk bot closed this Dec 1, 2021
@openjdk openjdk bot added integrated and removed ready rfr labels Dec 1, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Dec 1, 2021

@zhengyu123 Pushed as commit abaa073.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hotspot-runtime integrated
4 participants