RFR: Container Fixes (8219652, 8217766, 8212528)
Bob Vandette
bob.vandette at oracle.com
Mon Mar 11 15:15:40 UTC 2019
Sorry, missed a link:
http://cr.openjdk.java.net/~bobv/8217766/webrev.0/ <http://cr.openjdk.java.net/~bobv/8217766/webrev.0/>
Bob.
> On Mar 11, 2019, at 11:13 AM, Bob Vandette <bob.vandette at oracle.com> wrote:
>
> Please review these three fixes for Linux Docker/cgroup container support.
>
> https://bugs.openjdk.java.net/browse/JDK-8219562 - Line of code in osContainer_linux.cpp#L102 appears unreachable
>
> This change corrects a rarely used hotspot code path to be compatible with the Java based Metrics.
>
> https://bugs.openjdk.java.net/browse/JDK-8212528 - Wrong cgroup subsystem being used for some CPU Container Metrics
>
> Most Linux distros provide symbolic links for cpuacct and cpu controller directories. Docker on the Mac does not.
> This causes some of the cpu statistics to be unreported.
>
> https://bugs.openjdk.java.net/browse/JDK-8217766 - Container Support doesn't work for some Join Controllers combinations
>
> The cgroup identification -implemented by parsing /proc/self/mountinfo
> and /proc/self/cgroup- assumed each cgroup controller was mounted
> disjoint from the others (except for "cpu" and "cpuacct" controllers).
> Which means, we expected one single controller per mountinfo line.
>
> This matches the way most Linux distributions currently configure
> cgroupsv1 by default. Yet controllers can be grouped arbitrarily.
> For instance, using the JoinControllers systemd directive.
> One use case for that is to let Kubernetes' kubelet discover his own
> dedicated and reserved cgroup hierarchy. In that situation, the JVM
> fails to discover the expected cgroup controllers set, and, when running
> containerized, default to a suboptimal understanding of available resources.
>
> Supporting arbitrarily controllers groups per mountpoint actually
> allows for simpler and easier to follow code, as we don't need nested
> if/else for every controller.
>
> This fix also updates the Containers Metrics, to support joint controllers.
>
> Bob.
>
>
>
More information about the core-libs-dev
mailing list