tracker issue : CF-4207269

select a category, or use search below
(searches all categories and all time range)
Title:

CF should not be setting a maxmetaspace argument

| View in Tracker

Status/Resolution/Reason: To Fix//BugVerified

Reporter/Name(from Bugbase): Charlie A. / ()

Created: 02/24/2020

Components: Installation/Config

Versions: 2018

Failure Type: Non Functioning

Found In Build/Fixed In Build: n/a /

Priority/Frequency: Normal / Some users will encounter

Locale/System: / Win 2016

Vote Count: 10

Coldfusion should not be setting a maxmetaspace argument. It shouldn't set the default that it does, and it shouldn't set it equal to the old maxpermsize argument if it finds on (on migration).

Many CF users run into problems of CF failing or CF pages returning blank, or errors referring to the metaspace, and they don't know what to do.

The problem is that CF has been setting the maxmetaspace size to a default of 192m since creating installers for CF11 and above which came out on Java 8 or above. Or if the migration of old settings found a maxpermsize, then CF has presumed to set the maxmetaspacesize to that value.

Both are understandable but mistaken presumptions on Adobe's part.

It's true that Java 7 and earlier required that CF set maxpermsize arg, because the default was under 100mb, and CF would not run long without it. And it's true that Java 8 and above has replaced the "permspace" with the "metaspace". But they are not EXACTLY equivalent, in purpose or design.

First and most important, in Java 8 and above, there IS no longer a "default max" for maxmetaspacesize (like there was for maxpermsize). This is why CF no longer NEEDS to set it. Second, the metaspace now uses memory from available OS memory (whereas before, there were debates even in Java circles about whether the permspace was a subset of the heap or not).

So if CF simply no longer sets the maxmetaspace size, then CF (and the JVM) will be a) free to gronw beyond some arbitrarily set limit add b) free to use available OS memory to grow to its needs.

If and only if one had a concern that that grown could be "too large" should one bother to set a maxmetaspacesize, and that's a rare need in my experience (troubleshooting hundreds of CF servers since CF has been running on Java 8 and above). Indeed, I would make the argument that having large metaspace usage is its own problem, deserving its own solution (not "chasing an increasing max value"), but that's beyond the scope of this bug report. If I get a blog post done with more detail on the last point, I will add a link here as a comment.

But please, Adobe, stop setting the maxmetaspacesize for us. (I understand that if you find it already set, you will not be inclined to TAKE IT OUT for people.) I am referring here simply to the default stance of the installer, which either SETS it to 192m or SETS IT based on any found maxpermsize. If we can take care of that one problem, it would lead to increased stability for MOST CF servers.

Attachments:

Comments:

This is a good recommendation. I'm manually removing this argument from our JVM.
Vote by James M.
33186 | February 25, 2020 02:49:42 PM GMT
Good idea, Charlie!
Vote by A. B.
33216 | March 01, 2020 04:46:27 PM GMT