https://bz.apache.org/bugzilla/show_bug.cgi?id=66195

            Bug ID: 66195
           Summary: Observe multi-release JAR property from JVM available
                    via system properties
           Product: Tomcat 9
           Version: 9.0.x
          Hardware: All
                OS: Mac OS X 10.1
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Catalina
          Assignee: dev@tomcat.apache.org
          Reporter: nob...@gmail.com
  Target Milestone: -----

In 61601 , the multi-release JAR support was added. (1)

JVM also has a property to control whether the feature should be enabled or not
(2):

- system property: `jdk.util.jar.enableMultiRelease`
- Default value if not specified: `true`

This has side effects:

- Tomcat 9+ on JDK < 9 -- unaffected
- Tomcat 9+ on JDK 9+ && MR-JAR ON -- expected to work
- Tomcat 9+ on JDK 9+ && MR-JAR OFF -- unnecessary resource loading

On the latter cases, Tomcat actually delegates to JAR API which can be avoided.
The impact is that when there're large number of "resources" to cache with
Tomcat, since it also holds a lock for them, there is good chance of
contention. 

If Tomcat also observes the same property, it'll enable the user applications
to completely disable MR-JAR processing which also decreases the resource
contention due to locking.


(1): https://bz.apache.org/bugzilla/show_bug.cgi?id=61601
(2):
https://github.com/openjdk/jdk/blob/jdk-11%2B28/src/java.base/share/classes/java/util/jar/JarFile.java#L188

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to