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