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

Severin Gehwolf sgehwolf at openjdk.java.net
Thu Oct 22 15:45:14 UTC 2020


On Thu, 22 Oct 2020 15:00:55 GMT, Bob Vandette <bobv 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?

Isn't this what line 164 does?

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

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


More information about the core-libs-dev mailing list