com/oracle/jfr/gc/TestEvacuationInfoEvent.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File closed Cdiff com/oracle/jfr/gc/TestEvacuationInfoEvent.java

com/oracle/jfr/gc/TestEvacuationInfoEvent.java

Print this page
rev 1475 : 8010090: GC ID has the wrong type
Summary: GC ID changed from ulong to uint
Reviewed-by: mattias.tobiasson@oracle.com

*** 39,52 **** String regexpPattern = String.format("(%s)|(%s)", EVENT_INFO_PATH, EVENT_FAILED_PATH); List<FLREvent> all = r.parser().findJVMEvents(Pattern.compile(regexpPattern)); Asserts.assertFalse(all.isEmpty(), String.format("No events of type '%s' found", EVENT_INFO_PATH)); // Save gcIds for all EvacuationFailedEvents. These will be used to verify the EvacuationInfo event. ! Set<Long> failedEvacuationGcIds = new HashSet<Long>(); for (FLREvent event : all) { if (EVENT_FAILED_PATH.equals(event.getPath())) { ! failedEvacuationGcIds.add((Long)event.getValue("gcId")); } } for (FLREvent event : all) { if (EVENT_INFO_PATH.equals(event.getPath())) { --- 39,52 ---- String regexpPattern = String.format("(%s)|(%s)", EVENT_INFO_PATH, EVENT_FAILED_PATH); List<FLREvent> all = r.parser().findJVMEvents(Pattern.compile(regexpPattern)); Asserts.assertFalse(all.isEmpty(), String.format("No events of type '%s' found", EVENT_INFO_PATH)); // Save gcIds for all EvacuationFailedEvents. These will be used to verify the EvacuationInfo event. ! Set<Integer> failedEvacuationGcIds = new HashSet<Integer>(); for (FLREvent event : all) { if (EVENT_FAILED_PATH.equals(event.getPath())) { ! failedEvacuationGcIds.add((Integer)event.getValue("gcId")); } } for (FLREvent event : all) { if (EVENT_INFO_PATH.equals(event.getPath())) {
*** 74,84 **** assertGreaterOrEqualThan(setRegions, regionsFreed, "setRegions >= regionsFreed"); assertGreaterOrEqualThan(g1HeapRegionSize * allocationRegions, allocRegionsUsedAfter, "G1HeapRegionSize * allocationRegions >= allocationRegionsUsedAfter"); assertGreaterOrEqualThan(g1HeapRegionSize * setRegions, setUsedAfter, "G1HeapRegionSize * setRegions >= setUsedAfter"); assertGreaterOrEqualThan(g1HeapRegionSize * setRegions, setUsedBefore, "G1HeapRegionSize * setRegions >= setUsedBefore"); assertGreaterOrEqualThan(g1HeapRegionSize, allocRegionsUsedBefore, "G1HeapRegionSize >= allocRegionsUsedBefore"); ! if (failedEvacuationGcIds.contains((Long)event.getValue("gcId"))) { assertGreaterThan(setUsedAfter, 0L, "EvacuationFailure -> setUsedAfter > 0"); assertGreaterThan(setRegions, regionsFreed, "EvacuationFailure -> setRegions > regionsFreed"); } else { assertEquals(setUsedAfter, 0L, "No EvacuationFailure -> setUsedAfter = 0"); assertEquals(setRegions, regionsFreed, "No EvacuationFailure -> setRegions = regionsFreed"); --- 74,84 ---- assertGreaterOrEqualThan(setRegions, regionsFreed, "setRegions >= regionsFreed"); assertGreaterOrEqualThan(g1HeapRegionSize * allocationRegions, allocRegionsUsedAfter, "G1HeapRegionSize * allocationRegions >= allocationRegionsUsedAfter"); assertGreaterOrEqualThan(g1HeapRegionSize * setRegions, setUsedAfter, "G1HeapRegionSize * setRegions >= setUsedAfter"); assertGreaterOrEqualThan(g1HeapRegionSize * setRegions, setUsedBefore, "G1HeapRegionSize * setRegions >= setUsedBefore"); assertGreaterOrEqualThan(g1HeapRegionSize, allocRegionsUsedBefore, "G1HeapRegionSize >= allocRegionsUsedBefore"); ! if (failedEvacuationGcIds.contains((Integer)event.getValue("gcId"))) { assertGreaterThan(setUsedAfter, 0L, "EvacuationFailure -> setUsedAfter > 0"); assertGreaterThan(setRegions, regionsFreed, "EvacuationFailure -> setRegions > regionsFreed"); } else { assertEquals(setUsedAfter, 0L, "No EvacuationFailure -> setUsedAfter = 0"); assertEquals(setRegions, regionsFreed, "No EvacuationFailure -> setRegions = regionsFreed");
*** 107,119 **** */ private static void allocate() { Random r = new Random(0); final int arraySize = 6000; dummyList = new ArrayList<DummyObject>(arraySize); ! for (int c=0; c<arraySize; c++) { dummyList.add(null); } long bytesToAllocate = 256 * 1024 * 1024; int currPos = 0; while (bytesToAllocate > 0) { try { int nextAlloc = 1000 + (r.nextInt(4000)); --- 107,121 ---- */ private static void allocate() { Random r = new Random(0); final int arraySize = 6000; dummyList = new ArrayList<DummyObject>(arraySize); ! ! for (int c = 0; c < arraySize; c++) { dummyList.add(null); } + long bytesToAllocate = 256 * 1024 * 1024; int currPos = 0; while (bytesToAllocate > 0) { try { int nextAlloc = 1000 + (r.nextInt(4000));
*** 128,138 **** } catch (OutOfMemoryError e) { // We should not get an OOM, but if we do, just clear the dummyList. dummyList = null; System.gc(); dummyList = new ArrayList<DummyObject>(arraySize); ! for (int c=0; c<arraySize; c++) { dummyList.add(null); } } } dummyList = null; --- 130,140 ---- } catch (OutOfMemoryError e) { // We should not get an OOM, but if we do, just clear the dummyList. dummyList = null; System.gc(); dummyList = new ArrayList<DummyObject>(arraySize); ! for (int c = 0; c < arraySize; c++) { dummyList.add(null); } } } dummyList = null;
com/oracle/jfr/gc/TestEvacuationInfoEvent.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File