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 eba7ecc993
commit 2213a40f30
1 changed files with 13 additions and 5 deletions

View File

@ -19,9 +19,10 @@
package org.apache.hadoop.yarn.webapp; package org.apache.hadoop.yarn.webapp;
import java.io.IOException; import java.io.IOException;
import java.util.Random;
import org.apache.hadoop.net.ServerSocketUtil; import org.apache.hadoop.net.ServerSocketUtil;
import org.junit.Before;
import com.sun.jersey.test.framework.JerseyTest; import com.sun.jersey.test.framework.JerseyTest;
import com.sun.jersey.test.framework.WebAppDescriptor; import com.sun.jersey.test.framework.WebAppDescriptor;
@ -30,9 +31,16 @@ public abstract class JerseyTestBase extends JerseyTest {
super(appDescriptor); super(appDescriptor);
} }
@Before @Override
public void initializeJerseyPort() throws IOException { protected int getPort(int port) {
int jerseyPort = ServerSocketUtil.getPort(9998, 10); Random rand = new Random();
System.setProperty("jersey.test.port", Integer.toString(jerseyPort)); 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);
} }
} }