From 3ed0aed3cc4c2c7f96d3c5dd95d8dcd4eb8e888a Mon Sep 17 00:00:00 2001 From: cnauroth Date: Wed, 7 Jan 2015 12:24:10 -0800 Subject: [PATCH] HADOOP-11462. TestSocketIOWithTimeout needs change for PowerPC platform. Contributed by Ayappan. --- hadoop-common-project/hadoop-common/CHANGES.txt | 3 +++ .../org/apache/hadoop/net/TestSocketIOWithTimeout.java | 7 +++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index 49438aa8528..23bd42888b2 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -680,6 +680,9 @@ Release 2.7.0 - UNRELEASED HADOOP-11445. Bzip2Codec: Data block is skipped when position of newly created stream is equal to start of split (Ankit Kamboj via jlowe) + HADOOP-11462. TestSocketIOWithTimeout needs change for PowerPC platform. + (Ayappan via cnauroth) + Release 2.6.0 - 2014-11-18 INCOMPATIBLE CHANGES diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/net/TestSocketIOWithTimeout.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/net/TestSocketIOWithTimeout.java index f29fcf9ab5e..649ba1264b7 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/net/TestSocketIOWithTimeout.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/net/TestSocketIOWithTimeout.java @@ -33,6 +33,7 @@ import org.apache.hadoop.test.MultithreadedTestUtil.TestContext; import org.apache.hadoop.test.MultithreadedTestUtil.TestingThread; import org.apache.hadoop.util.Time; import org.apache.hadoop.util.Shell; +import org.apache.hadoop.io.nativeio.NativeIO; import org.junit.Test; import static org.junit.Assert.*; @@ -53,12 +54,14 @@ public class TestSocketIOWithTimeout { private MultithreadedTestUtil.TestContext ctx = new TestContext(); + private static final int PAGE_SIZE = (int) NativeIO.POSIX.getCacheManipulator().getOperatingSystemPageSize(); + private void doIO(InputStream in, OutputStream out, int expectedTimeout) throws IOException { /* Keep on writing or reading until we get SocketTimeoutException. * It expects this exception to occur within 100 millis of TIMEOUT. */ - byte buf[] = new byte[4192]; + byte buf[] = new byte[PAGE_SIZE + 19]; while (true) { long start = Time.now(); @@ -151,7 +154,7 @@ public class TestSocketIOWithTimeout { // simulate a partial write scenario. Attempts were made to switch the // test from using a pipe to a network socket and also to use larger and // larger buffers in doIO. Nothing helped the situation though. - if (!Shell.WINDOWS && !Shell.PPC_64) { + if (!Shell.WINDOWS) { try { out.write(1); fail("Did not throw");