JDK-8287162 : (zipfs) Performance regression related to support for POSIX file permissions
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.nio
  • Affected Version: 14,15,16,17,18,19
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2022-05-23
  • Updated: 2022-06-08
  • Resolved: 2022-05-24
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 17 JDK 18 JDK 19
17.0.14-oracleUnresolved 18.0.2Fixed 19 b24Fixed
Related Reports
Relates :  
Description
The enhancement to add support for POSIX file permissions (JDK-8213031) caused significant performance regression in some situation.

Compiler an empty class using Javac on a server with LDAP / NIS with weblogic.jar on the classpath, cause the compilation to jump from 2s to 16s.

weblogic.jar pulls in 600+ jar files and retrieving the ownership for each of the jar files amount for 13.5 seconds of the 14 seconds regression mentioned above.
Comments
Fix request (18u, 17u): This fixes a performance regression in zipfs. Backport applies cleanly, tested in SAP nightlies. Update, 17u-critical: Unfortunately the backport request in jdk17u-dev was not approved in time to reach 17.0.4, yet I still request to get it included for July. Seems like a performance regression that just needs a very trivial fix.
02-06-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk17u/pull/342 Date: 2022-06-01 15:55:21 +0000
01-06-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk17u-dev/pull/417 Date: 2022-05-25 19:58:51 +0000
25-05-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk18u/pull/137 Date: 2022-05-25 19:58:17 +0000
25-05-2022

Changeset: a10c5597 Author: Lance Andersen <lancea@openjdk.org> Date: 2022-05-24 15:54:28 +0000 URL: https://git.openjdk.java.net/jdk/commit/a10c5597d93c4402bafdbb570437aac052b10027
24-05-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk/pull/8854 Date: 2022-05-23 19:47:33 +0000
23-05-2022

I have a fix which I will push out the PR once my Mach5 run completes which restores the performance when enablePosixFileAttributes is not set(or false)
23-05-2022

I don't think javac enables it. The issue seems to the initialization of defaultOwner, it should only call initOwner when enabled.
23-05-2022

Maybe javac could turn off the Posix Permission feature? But, other than that, it would be interesting to see some profiling data...
23-05-2022