> Test has been problemlisted for a long time due to intermittent failures. > > This is a difficult test as it tries to monitor usage thresholds on Memory > Pools which are outside its control. > Not just Java heap pools, where the allocation it makes may or may not affect > a particuclar pool, but non-heap pools such as CodeHeap and Metadata, where > other activity in the VM can affect their usage and surprise the test. > > The test iterates JMX memory pools where thresholds are supported, sets a > threshold one byte higher than current usage, and makes an allocation. This > only makes sense on Java heap pools. It is tempting to skip non-heap pools, > but this test can still give a sanity test about threshold behaviour. That > is actually its main purpose, as the allocation is unlikely to affect the > pool being tested. > > With the changes here, I'm seeing the test and all its variations pass > reliably, i.e. 50 iterations in each tested platform. > > Skip testing a non-heap memory pool, e.g. CodeHeap, if it is hitting the > threshold while we test, because that means it is changing outside our > control. Also re-test isExceeded on failure, as fetching the usage and > isExceeded is a race. > > Logging of more pool stats to better understand failures.
Kevin Walls has updated the pull request incrementally with one additional commit since the last revision: Show log output ------------- Changes: - all: https://git.openjdk.org/jdk/pull/9309/files - new: https://git.openjdk.org/jdk/pull/9309/files/6a5355fd..40594080 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=9309&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=9309&range=00-01 Stats: 1 line in 1 file changed: 1 ins; 0 del; 0 mod Patch: https://git.openjdk.org/jdk/pull/9309.diff Fetch: git fetch https://git.openjdk.org/jdk pull/9309/head:pull/9309 PR: https://git.openjdk.org/jdk/pull/9309