Request for review (XXS): 7067973: test/java/lang/management/MemoryMXBean/CollectionUsageThreshold.java hanging intermittently
Bengt Rutisson
bengt.rutisson at oracle.com
Fri Jun 1 07:54:42 UTC 2012
Hi again,
A quick update on this. I ran the following tests using UTE on a Linux
x64 host just to make sure that my change doesn't break any other part
of the management API.
java/lang/management
com/sun/management
sun/management
vm.tmtools.testlist
nsk.monitoring.testlist
I did see some intermittent failures of
java/lang/management/ThreadMXBean/ResetPeakThreadCount.java, but I think
that is:
6766097: TEST_BUG: ResetPeakThreadCount fails because it does not join
threads
Other than that all tests pass. This includes
java/lang/management/MemoryMXBean/CollectionUsageThreshold.java that
used to fail.
Bengt
On 2012-05-31 22:04, Bengt Rutisson wrote:
>
> Hi all,
>
> Can I have a couple of reviews for this really small change?
> http://cr.openjdk.java.net/~brutisso/7067973/webrev.00/
>
> Background:
> The CollectionUsageThreshold test fails with G1. The test lowers the
> notification threshold for the G1 old gen memory pool and expects to
> get a notification after a full GC.
>
> The problem in G1 is that the decision to send the notification is
> done in TraceMemoryManagerStats::~TraceMemoryManagerStats(). This
> eventually does pool->get_memory_usage() to get the memory usage after
> a collection. The problem is that we update this information in
> G1MonitoringSupport::update_sizes() which is called in
> G1CollectedHeap::do_collection() _after_ the TraceMemoryManagerStats
> scope had been exited.
>
> Extending the scope to cover the call to
> G1MonitoringSupport::update_sizes() solves the issue.
>
> Testing:
> Before this change the CollectionUsageThreshold failed every time I
> ran it. After this change it passes every time I ran it.
>
> Thanks,
> Bengt
More information about the hotspot-gc-dev
mailing list