MAPREDUCE-7385. impove JobEndNotifier#httpNotification With recommended methods. (#4403). Contributed by fanshilun.

Signed-off-by: Ayush Saxena <ayushsaxena@apache.org>
This commit is contained in:
slfan1989 2022-08-09 03:29:03 +08:00 committed by GitHub
parent 895f7c51fd
commit 977f4b6165
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 8 deletions

View File

@ -26,10 +26,10 @@ import java.util.concurrent.TimeUnit;
import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.classification.InterfaceAudience;
import org.apache.hadoop.classification.InterfaceStability; import org.apache.hadoop.classification.InterfaceStability;
import org.apache.http.client.HttpClient;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.params.ClientPNames; import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.CoreConnectionPNames;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@ -67,10 +67,13 @@ public class JobEndNotifier {
private static int httpNotification(String uri, int timeout) private static int httpNotification(String uri, int timeout)
throws IOException, URISyntaxException { throws IOException, URISyntaxException {
DefaultHttpClient client = new DefaultHttpClient(); HttpClientBuilder httpClientBuilder = HttpClientBuilder.create();
client.getParams() httpClientBuilder.setDefaultRequestConfig(
.setIntParameter(CoreConnectionPNames.SO_TIMEOUT, timeout) RequestConfig.custom()
.setLongParameter(ClientPNames.CONN_MANAGER_TIMEOUT, (long) timeout); .setConnectionRequestTimeout(timeout)
.setSocketTimeout(timeout)
.build());
HttpClient client = httpClientBuilder.build();
HttpGet httpGet = new HttpGet(new URI(uri)); HttpGet httpGet = new HttpGet(new URI(uri));
httpGet.setHeader("Accept", "*/*"); httpGet.setHeader("Accept", "*/*");
return client.execute(httpGet).getStatusLine().getStatusCode(); return client.execute(httpGet).getStatusLine().getStatusCode();

View File

@ -139,7 +139,7 @@ public class TestJobEndNotifier {
baseUrl + "jobend?jobid=$jobId&status=$jobStatus"); baseUrl + "jobend?jobid=$jobId&status=$jobStatus");
JobEndNotifier.localRunnerNotification(jobConf, jobStatus); JobEndNotifier.localRunnerNotification(jobConf, jobStatus);
// No need to wait for the notification to go thru since calls are // No need to wait for the notification to go through since calls are
// synchronous // synchronous
// Validate params // Validate params