RFR: 8250984: Memory Docker tests fail on some Linux kernels w/o cgroupv1 …

Severin Gehwolf sgehwolf at openjdk.java.net
Fri Sep 25 13:12:44 UTC 2020


On Thu, 24 Sep 2020 18:32:38 GMT, Harold Seigel <hseigel at openjdk.org> wrote:

> Please review this change to fix memory docker tests failures on some Linux kernels w/o cgroupv1 swap limit
> capabilities.  The fix works by detecting that swap limit capabilities are not available and returning non-swap related
> information.  For example, if memory and swap usage is requested, and swap limit capabilities are not available, then
> only memory usage is returned.  The fix was tested by running container tests on systems with and without swap limit
> capabilities.  Additionally, the changes were regression tested by running tier1 and tier2 tests on Windows, Linux x64,
> and Mac OS, and running tier3 - tier5 tests on Linux x64.

test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java line 163:

> 161:         // or the cgroup is not mounted. Memory limited without swap."
> 162:         // the getTotalSwapSpaceSize does not return the expected result and
> 163:         // getFreeSwapSpaceSize returns 0

https://bugs.openjdk.java.net/browse/JDK-8244500 indicates a system where we have the kernel warning, but
getFreeSwapSpaceSize() returned the system values. *Not* 0 as indicated in this comment. This yields me to believe
there are inconsistently behaving systems out there. Could we rephrase this comment?

test/hotspot/jtreg/containers/docker/TestMemoryAwareness.java line 167:

> 165:             out.shouldContain("OperatingSystemMXBean.getTotalSwapSpaceSize: " + expectedSwap);
> 166:         } catch(RuntimeException ex) {
> 167:             out.shouldMatch("OperatingSystemMXBean.getTotalSwapSpaceSize: -?([0-9]+)");

Is the optional `-` intentional? My understanding is that it should never be negative, should it not?

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

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


More information about the hotspot-runtime-dev mailing list