YARN-4909. Fix intermittent failures of TestRMWebServices And TestRMWithCSRFFilter. Contributed by Bibin A Chundatt

(cherry picked from commit fdbafbc9e5)
This commit is contained in:
Naganarasimha 2016-04-15 23:37:05 +05:30
parent 1dddf1ac8a
commit 3e223d5dc0
1 changed files with 13 additions and 5 deletions

View File

@ -19,9 +19,10 @@
package org.apache.hadoop.yarn.webapp;
import java.io.IOException;
import java.util.Random;
import org.apache.hadoop.net.ServerSocketUtil;
import org.junit.Before;
import com.sun.jersey.test.framework.JerseyTest;
import com.sun.jersey.test.framework.WebAppDescriptor;
@ -30,9 +31,16 @@ public abstract class JerseyTestBase extends JerseyTest {
super(appDescriptor);
}
@Before
public void initializeJerseyPort() throws IOException {
int jerseyPort = ServerSocketUtil.getPort(9998, 10);
System.setProperty("jersey.test.port", Integer.toString(jerseyPort));
@Override
protected int getPort(int port) {
Random rand = new Random();
int jerseyPort = port + rand.nextInt(1000);
try {
jerseyPort = ServerSocketUtil.getPort(jerseyPort, 10);
} catch (IOException e) {
// Ignore exception even after 10 times free port is
// not received.
}
return super.getPort(jerseyPort);
}
}