RFR: 8254854: [cgroups v1] Metric limits not properly detected on some join controller combinations

Bob Vandette bobv at openjdk.java.net
Thu Oct 22 15:03:12 UTC 2020


On Thu, 22 Oct 2020 14:17:56 GMT, Severin Gehwolf <sgehwolf at openjdk.org> wrote:

> Originally only join controllers of form `cpu,cpuacct` would have been recognized.
> However, this fails if more controllers are joined at a certain path.
> 
> The proposed fix is to be sure to split join controllers on `,` and set the path
> accordingly. Otherwise, the Metrics system might be initialized due to some
> non-join controllers, yet the limits for join controllers wouldn't be detected. A
> test for this can be added once [JDK-8254001](https://bugs.openjdk.java.net/browse/JDK-8254001) has been implemented.
> 
> Testing:
> 
> - [x] jdk/submit
> - [x] container tests on Linux cgroups v1 system.
> 
> Thoughts?

src/java.base/linux/classes/jdk/internal/platform/cgroupv1/CgroupV1Subsystem.java line 165:

> 163: 
> 164:         if (controllerName != null && base != null) {
> 165:             for (String cName: controllerName.split(",")) {

The previous logic checked for base!=null.  Do you think this is no longer necessary?

-------------

PR: https://git.openjdk.java.net/jdk/pull/809


More information about the core-libs-dev mailing list