On Tue, 17 Aug 2021 17:39:49 GMT, Harold Seigel <hsei...@openjdk.org> wrote:

>> Please review this small fix for JDK-8272124.  The fix puts a limit of 3 
>> when splitting self cgroup lines by ':' so that Cgroup paths won't get 
>> truncated if they contain embedded ':'s.  For example, an entry of 
>> "11:memory:/user.sli:ce" in a /proc/self/cgroup file will now result in a 
>> Cgroup path of "/user.sli:ce" instead of "/user.sli".
>> 
>> The fix was tested with Mach5 tiers 1 and 2, and Mach5 tiers 3-5 on Linux 
>> x64 and Linux aarch64.
>> 
>> Thanks, Harold
>
> Harold Seigel has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   add test case, comments, and other small changes

test/jdk/jdk/internal/platform/cgroup/TestCgroupSubsystemFactory.java line 375:

> 373:         CgroupInfo memoryInfo = res.getInfos().get("memory");
> 374:         assertEquals(memoryInfo.getCgroupPath(), 
> "/system.slice/containerd.service/kubepods-burstable-podf65e797d_d5f9_4604_9773_94f4bb9946a0.slice:cri-containerd:86ac6260f9f8a9c1276748250f330ae9c2fcefe5ae809364ad1e45f3edf7e08a");
> 375:         assertEquals(memoryInfo.getMountRoot(), 
> memoryInfo.getMountRoot());

What I meant here is to also change the mountinfo entry for `memory` and then 
use

assertEquals(memoryInfo.getMountRoot(), memoryInfo.getCgroupPath());

as that's really what was happening in the wild. mount root - containing colons 
- would correctly parse, but the cgroup path - containing colons - would not 
and the assertion would fail (without the change in CgroupSubsystemFactory). 
Thanks!

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

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

Reply via email to