8256435: [TESTBUG] java/foreign/TestHandshake.java fails with direct buffer memory OOM

Reviewed-by: mcimadamore
This commit is contained in:
Nick Gasson 2020-11-18 02:08:20 +00:00
parent ef3ddb1d03
commit 26a1ec1b96

@ -103,10 +103,13 @@ public class TestHandshake {
}
long delay = System.currentTimeMillis() - start.get();
System.out.println("Accessor #" + id + " terminated - delay (ms): " + delay);
cleanup();
}
abstract void doAccess();
void cleanup() {}
private void backoff() {
try {
Thread.sleep(ThreadLocalRandom.current().nextInt(MAX_THREAD_SPIN_WAIT_MILLIS));
@ -185,6 +188,11 @@ public class TestHandshake {
public void doAccess() {
segment.mismatch(copy);
}
@Override
void cleanup() {
copy.close();
}
}
static class BufferAccessor extends AbstractBufferAccessor {
@ -251,7 +259,7 @@ public class TestHandshake {
return new Object[][] {
{ "SegmentAccessor", (AccessorFactory)SegmentAccessor::new },
{ "SegmentCopyAccessor", (AccessorFactory)SegmentCopyAccessor::new },
{ "SegmentMismatchAccesor", (AccessorFactory)SegmentMismatchAccessor::new },
{ "SegmentMismatchAccessor", (AccessorFactory)SegmentMismatchAccessor::new },
{ "SegmentFillAccessor", (AccessorFactory)SegmentFillAccessor::new },
{ "BufferAccessor", (AccessorFactory)BufferAccessor::new },
{ "BufferHandleAccessor", (AccessorFactory)BufferHandleAccessor::new }