[HOTFIX] Add workaround for SPARK-7660 to fix JavaAPISuite failures.
This commit is contained in:
parent
7aa269f4bb
commit
1206a5597b
|
@ -35,6 +35,7 @@ import org.mockito.Mock;
|
||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
import org.mockito.invocation.InvocationOnMock;
|
import org.mockito.invocation.InvocationOnMock;
|
||||||
import org.mockito.stubbing.Answer;
|
import org.mockito.stubbing.Answer;
|
||||||
|
import org.xerial.snappy.buffer.CachedBufferAllocator;
|
||||||
import static org.hamcrest.MatcherAssert.assertThat;
|
import static org.hamcrest.MatcherAssert.assertThat;
|
||||||
import static org.hamcrest.Matchers.greaterThan;
|
import static org.hamcrest.Matchers.greaterThan;
|
||||||
import static org.hamcrest.Matchers.lessThan;
|
import static org.hamcrest.Matchers.lessThan;
|
||||||
|
@ -96,6 +97,13 @@ public class UnsafeShuffleWriterSuite {
|
||||||
@After
|
@After
|
||||||
public void tearDown() {
|
public void tearDown() {
|
||||||
Utils.deleteRecursively(tempDir);
|
Utils.deleteRecursively(tempDir);
|
||||||
|
// This call is a workaround for SPARK-7660, a snappy-java bug which is exposed by this test
|
||||||
|
// suite. Clearing the cached buffer allocator's pool of reusable buffers masks this bug,
|
||||||
|
// preventing a test failure in JavaAPISuite that would otherwise occur. The underlying bug
|
||||||
|
// needs to be fixed, but in the meantime this workaround avoids spurious Jenkins failures.
|
||||||
|
synchronized (CachedBufferAllocator.class) {
|
||||||
|
CachedBufferAllocator.queueTable.clear();
|
||||||
|
}
|
||||||
final long leakedMemory = taskMemoryManager.cleanUpAllAllocatedMemory();
|
final long leakedMemory = taskMemoryManager.cleanUpAllAllocatedMemory();
|
||||||
if (leakedMemory != 0) {
|
if (leakedMemory != 0) {
|
||||||
fail("Test leaked " + leakedMemory + " bytes of managed memory");
|
fail("Test leaked " + leakedMemory + " bytes of managed memory");
|
||||||
|
|
Loading…
Reference in a new issue