This is an automated email from the ASF dual-hosted git repository.

abstractdog pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tez.git


The following commit(s) were added to refs/heads/master by this push:
     new 92dedd51b TEZ-4726: Replace deprecated java.net.URL constructors with 
URI alternatives (#508) (Mahesh Raju Somalaraju reviewed by Laszlo Bodor)
92dedd51b is described below

commit 92dedd51b3cf3df5b75b6131904d4e6343e0082d
Author: Mahesh Raju Somalaraju <[email protected]>
AuthorDate: Tue Jun 16 10:01:29 2026 +0530

    TEZ-4726: Replace deprecated java.net.URL constructors with URI 
alternatives (#508) (Mahesh Raju Somalaraju reviewed by Laszlo Bodor)
---
 .../tez/dag/api/client/TimelineReaderFactory.java  |  3 +-
 .../org/apache/tez/client/TestTezClientUtils.java  |  3 +-
 .../org/apache/tez/common/TestReflectionUtils.java |  3 +-
 .../dag/api/client/TestTimelineReaderFactory.java  |  4 +-
 .../apache/tez/dag/app/web/AMWebController.java    |  5 +-
 .../apache/tez/shufflehandler/ShuffleHandler.java  |  3 +-
 .../org/apache/tez/auxservices/ShuffleHandler.java |  3 +-
 .../apache/tez/auxservices/TestShuffleHandler.java | 59 +++++++++++-----------
 .../java/org/apache/tez/history/ATSImportTool.java |  2 +-
 .../runtime/library/common/TezRuntimeUtils.java    |  7 +--
 .../library/common/shuffle/ShuffleUtils.java       |  3 +-
 .../org/apache/tez/http/TestHttpConnection.java    |  3 +-
 .../src/test/java/org/apache/tez/test/TestAM.java  |  7 +--
 13 files changed, 58 insertions(+), 47 deletions(-)

diff --git 
a/tez-api/src/main/java/org/apache/tez/dag/api/client/TimelineReaderFactory.java
 
b/tez-api/src/main/java/org/apache/tez/dag/api/client/TimelineReaderFactory.java
index 14239697c..17c84928f 100644
--- 
a/tez-api/src/main/java/org/apache/tez/dag/api/client/TimelineReaderFactory.java
+++ 
b/tez-api/src/main/java/org/apache/tez/dag/api/client/TimelineReaderFactory.java
@@ -23,6 +23,7 @@ import static 
org.apache.hadoop.security.ssl.SSLFactory.Mode.CLIENT;
 import java.io.IOException;
 import java.lang.reflect.Method;
 import java.net.HttpURLConnection;
+import java.net.URI;
 import java.net.URL;
 import java.net.URLEncoder;
 import java.security.GeneralSecurityException;
@@ -284,7 +285,7 @@ public final class TimelineReaderFactory {
             
URLEncoder.encode(UserGroupInformation.getCurrentUser().getShortUserName(), 
"UTF8");
 
         HttpURLConnection httpURLConnection =
-            (HttpURLConnection) (new URL(url + tokenString)).openConnection();
+            (HttpURLConnection) URI.create(url + 
tokenString).toURL().openConnection();
         this.connectionConf.configure(httpURLConnection);
 
         return httpURLConnection;
diff --git 
a/tez-api/src/test/java/org/apache/tez/client/TestTezClientUtils.java 
b/tez-api/src/test/java/org/apache/tez/client/TestTezClientUtils.java
index af6c4f29f..42ccb1a3f 100644
--- a/tez-api/src/test/java/org/apache/tez/client/TestTezClientUtils.java
+++ b/tez-api/src/test/java/org/apache/tez/client/TestTezClientUtils.java
@@ -28,6 +28,7 @@ import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.net.MalformedURLException;
+import java.net.URI;
 import java.net.URL;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
@@ -141,7 +142,7 @@ public class TestTezClientUtils {
     File lastFile = null;
     // Add one file and one directory.
     for (String path : classpaths) {
-      URL url = new URL("file://" + path);
+      URL url = URI.create("file://" + path).toURL();
       File file = FileUtils.toFile(url);
       if (lastFile == null) {
         lastFile = file;
diff --git 
a/tez-api/src/test/java/org/apache/tez/common/TestReflectionUtils.java 
b/tez-api/src/test/java/org/apache/tez/common/TestReflectionUtils.java
index 774aa7962..f7696175c 100644
--- a/tez-api/src/test/java/org/apache/tez/common/TestReflectionUtils.java
+++ b/tez-api/src/test/java/org/apache/tez/common/TestReflectionUtils.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
 import java.io.IOException;
+import java.net.URI;
 import java.net.URL;
 import java.util.Collections;
 
@@ -77,7 +78,7 @@ public class TestReflectionUtils {
       assertTrue(localFs.createNewFile(p));
       String urlForm = p.toUri().toURL().toString();
       urlForm = urlForm.substring(0, urlForm.lastIndexOf('/') + 1);
-      URL url = new URL(urlForm);
+      URL url = URI.create(urlForm).toURL();
 
       
ReflectionUtils.addResourcesToSystemClassLoader(Collections.singletonList(url));
 
diff --git 
a/tez-api/src/test/java/org/apache/tez/dag/api/client/TestTimelineReaderFactory.java
 
b/tez-api/src/test/java/org/apache/tez/dag/api/client/TestTimelineReaderFactory.java
index 8c8d2abb4..2f514badf 100644
--- 
a/tez-api/src/test/java/org/apache/tez/dag/api/client/TestTimelineReaderFactory.java
+++ 
b/tez-api/src/test/java/org/apache/tez/dag/api/client/TestTimelineReaderFactory.java
@@ -21,7 +21,7 @@ package org.apache.tez.dag.api.client;
 import static org.mockito.Mockito.mock;
 
 import java.net.HttpURLConnection;
-import java.net.URL;
+import java.net.URI;
 
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.security.UserGroupInformation;
@@ -55,7 +55,7 @@ public class TestTimelineReaderFactory {
           .PseudoAuthenticatedURLConnectionFactory(connConf);
     String inputUrl = "http://host:8080/path";;
     String expectedUrl = inputUrl + "?user.name=" + 
UserGroupInformation.getCurrentUser().getShortUserName();
-    HttpURLConnection httpURLConnection = 
connectionFactory.getHttpURLConnection(new URL(inputUrl));
+    HttpURLConnection httpURLConnection = 
connectionFactory.getHttpURLConnection(URI.create(inputUrl).toURL());
     Assert.assertEquals(expectedUrl, httpURLConnection.getURL().toString());
   }
 
diff --git 
a/tez-dag/src/main/java/org/apache/tez/dag/app/web/AMWebController.java 
b/tez-dag/src/main/java/org/apache/tez/dag/app/web/AMWebController.java
index a26e8043f..cf1105bea 100644
--- a/tez-dag/src/main/java/org/apache/tez/dag/app/web/AMWebController.java
+++ b/tez-dag/src/main/java/org/apache/tez/dag/app/web/AMWebController.java
@@ -21,6 +21,7 @@ package org.apache.tez.dag.app.web;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.net.MalformedURLException;
+import java.net.URI;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -142,9 +143,9 @@ public class AMWebController extends Controller {
     String origin = request().getHeader(ORIGIN);
     if(origin == null) {
       try {
-        URL url = new URL(historyUrlBase);
+        URL url = URI.create(historyUrlBase).toURL();
         origin = url.getProtocol() + "://" + url.getAuthority();
-      } catch (MalformedURLException e) {
+      } catch (IllegalArgumentException | MalformedURLException e) {
         LOG.debug("Invalid url set for tez history url base: {}", 
historyUrlBase, e);
       }
     }
diff --git 
a/tez-ext-service-tests/src/test/java/org/apache/tez/shufflehandler/ShuffleHandler.java
 
b/tez-ext-service-tests/src/test/java/org/apache/tez/shufflehandler/ShuffleHandler.java
index a652b58fc..772e23a83 100644
--- 
a/tez-ext-service-tests/src/test/java/org/apache/tez/shufflehandler/ShuffleHandler.java
+++ 
b/tez-ext-service-tests/src/test/java/org/apache/tez/shufflehandler/ShuffleHandler.java
@@ -35,6 +35,7 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.RandomAccessFile;
 import java.net.InetSocketAddress;
+import java.net.URI;
 import java.net.URL;
 import java.nio.channels.ClosedChannelException;
 import java.util.ArrayList;
@@ -427,7 +428,7 @@ public class ShuffleHandler {
       HttpResponse response = new DefaultHttpResponse(HTTP_1_1, OK);
       try {
         verifyRequest(jobId, ctx, request, response,
-            new URL("http", "", this.port, reqUri));
+            URI.create("http://:"; + this.port + reqUri).toURL());
       } catch (IOException e) {
         LOG.warn("Shuffle failure ", e);
         sendError(ctx, e.getMessage(), UNAUTHORIZED);
diff --git 
a/tez-plugins/tez-aux-services/src/main/java/org/apache/tez/auxservices/ShuffleHandler.java
 
b/tez-plugins/tez-aux-services/src/main/java/org/apache/tez/auxservices/ShuffleHandler.java
index 2144f62db..2353af95f 100644
--- 
a/tez-plugins/tez-aux-services/src/main/java/org/apache/tez/auxservices/ShuffleHandler.java
+++ 
b/tez-plugins/tez-aux-services/src/main/java/org/apache/tez/auxservices/ShuffleHandler.java
@@ -37,6 +37,7 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.RandomAccessFile;
 import java.net.InetSocketAddress;
+import java.net.URI;
 import java.net.URL;
 import java.nio.ByteBuffer;
 import java.nio.channels.ClosedChannelException;
@@ -1084,7 +1085,7 @@ public class ShuffleHandler extends AuxiliaryService {
       HttpResponse response = new DefaultHttpResponse(HTTP_1_1, OK);
       try {
         verifyRequest(jobId, ctx, request, response,
-            new URL("http", "", this.port, reqUri));
+            URI.create("http://:"; + this.port + reqUri).toURL());
       } catch (IOException e) {
         LOG.warn("Shuffle failure ", e);
         sendError(ctx, e.getMessage(), UNAUTHORIZED);
diff --git 
a/tez-plugins/tez-aux-services/src/test/java/org/apache/tez/auxservices/TestShuffleHandler.java
 
b/tez-plugins/tez-aux-services/src/test/java/org/apache/tez/auxservices/TestShuffleHandler.java
index 7c2fb98cf..a139446b5 100644
--- 
a/tez-plugins/tez-aux-services/src/test/java/org/apache/tez/auxservices/TestShuffleHandler.java
+++ 
b/tez-plugins/tez-aux-services/src/test/java/org/apache/tez/auxservices/TestShuffleHandler.java
@@ -42,6 +42,7 @@ import java.io.IOException;
 import java.net.HttpURLConnection;
 import java.net.SocketAddress;
 import java.net.SocketException;
+import java.net.URI;
 import java.net.URL;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
@@ -392,9 +393,9 @@ public class TestShuffleHandler {
 
     // simulate a reducer that closes early by reading a single shuffle header
     // then closing the connection
-    URL url = new URL("http://127.0.0.1:";
+    URL url = URI.create("http://127.0.0.1:";
       + shuffleHandler.getConfig().get(ShuffleHandler.SHUFFLE_PORT_CONFIG_KEY)
-      + "/mapOutput?job=job_12345_1&dag=1&reduce=1&map=attempt_12345_1_m_1_0");
+      + 
"/mapOutput?job=job_12345_1&dag=1&reduce=1&map=attempt_12345_1_m_1_0").toURL();
     HttpURLConnection conn = (HttpURLConnection)url.openConnection();
     conn.setRequestProperty(ShuffleHeader.HTTP_HEADER_NAME,
         ShuffleHeader.DEFAULT_HTTP_HEADER_NAME);
@@ -522,8 +523,8 @@ public class TestShuffleHandler {
             + shuffleHandler.getConfig().get(
               ShuffleHandler.SHUFFLE_PORT_CONFIG_KEY);
     URL url =
-        new URL(shuffleBaseURL + "/mapOutput?job=job_12345_1&dag=1&reduce=1&"
-            + "map=attempt_12345_1_m_1_0");
+        URI.create(shuffleBaseURL + 
"/mapOutput?job=job_12345_1&dag=1&reduce=1&"
+            + "map=attempt_12345_1_m_1_0").toURL();
     HttpURLConnection conn = (HttpURLConnection) url.openConnection();
     conn.setRequestProperty(ShuffleHeader.HTTP_HEADER_NAME,
       ShuffleHeader.DEFAULT_HTTP_HEADER_NAME);
@@ -545,8 +546,8 @@ public class TestShuffleHandler {
 
     // For keepAlive via URL
     url =
-        new URL(shuffleBaseURL + "/mapOutput?job=job_12345_1&dag=1&reduce=1&"
-            + "map=attempt_12345_1_m_1_0&keepAlive=true");
+        URI.create(shuffleBaseURL + 
"/mapOutput?job=job_12345_1&dag=1&reduce=1&"
+            + "map=attempt_12345_1_m_1_0&keepAlive=true").toURL();
     conn = (HttpURLConnection) url.openConnection();
     conn.setRequestProperty(ShuffleHeader.HTTP_HEADER_NAME,
       ShuffleHeader.DEFAULT_HTTP_HEADER_NAME);
@@ -591,8 +592,8 @@ public class TestShuffleHandler {
               + shuffleHandler.getConfig().get(
                 ShuffleHandler.SHUFFLE_PORT_CONFIG_KEY);
       URL url =
-          new URL(shuffleBaseURL + "/mapOutput?job=job_12345_1&dag=1&reduce=1&"
-              + "map=attempt_12345_1_m_1_0");
+          URI.create(shuffleBaseURL + 
"/mapOutput?job=job_12345_1&dag=1&reduce=1&"
+              + "map=attempt_12345_1_m_1_0").toURL();
       conn = (HttpURLConnection) url.openConnection();
       conn.setRequestProperty(ShuffleHeader.HTTP_HEADER_NAME,
           ShuffleHeader.DEFAULT_HTTP_HEADER_NAME);
@@ -626,9 +627,9 @@ public class TestShuffleHandler {
 
     // simulate a reducer that closes early by reading a single shuffle header
     // then closing the connection
-    URL url = new URL("http://127.0.0.1:";
+    URL url = URI.create("http://127.0.0.1:";
       + shuffleHandler.getConfig().get(ShuffleHandler.SHUFFLE_PORT_CONFIG_KEY)
-      + "/mapOutput?job=job_12345_1&&dag=1reduce=1&map=attempt_12345_1_m_1_0");
+      + 
"/mapOutput?job=job_12345_1&&dag=1reduce=1&map=attempt_12345_1_m_1_0").toURL();
     for (int i = 0; i < failureNum; ++i) {
       HttpURLConnection conn = (HttpURLConnection)url.openConnection();
       conn.setRequestProperty(ShuffleHeader.HTTP_HEADER_NAME,
@@ -713,7 +714,7 @@ public class TestShuffleHandler {
            + 
shuffleHandler.getConfig().get(ShuffleHandler.SHUFFLE_PORT_CONFIG_KEY)
            + "/mapOutput?job=job_12345_1&dag=1&reduce=1&map=attempt_12345_1_m_"
            + i + "_0";
-      URL url = new URL(URLstring);
+      URL url = URI.create(URLstring).toURL();
       conns[i] = (HttpURLConnection)url.openConnection();
       conns[i].setRequestProperty(ShuffleHeader.HTTP_HEADER_NAME,
           ShuffleHeader.DEFAULT_HTTP_HEADER_NAME);
@@ -788,12 +789,12 @@ public class TestShuffleHandler {
               appId, ByteBuffer.wrap(outputBuffer.getData(), 0,
               outputBuffer.getLength())));
       URL url =
-          new URL(
+          URI.create(
               "http://127.0.0.1:";
                   + shuffleHandler.getConfig().get(
                   ShuffleHandler.SHUFFLE_PORT_CONFIG_KEY)
                   + "/mapOutput?job=job_12345_0001&dag=1&reduce=" + 
reducerIdStart + "-" + reducerIdEnd
-                  + "&map=attempt_12345_1_m_1_0");
+                  + "&map=attempt_12345_1_m_1_0").toURL();
       HttpURLConnection conn = (HttpURLConnection) url.openConnection();
       conn.setRequestProperty(ShuffleHeader.HTTP_HEADER_NAME,
           ShuffleHeader.DEFAULT_HTTP_HEADER_NAME);
@@ -886,9 +887,9 @@ public class TestShuffleHandler {
       jt.write(outputBuffer);
       shuffleHandler.initializeApplication(new 
ApplicationInitializationContext(user, appId,
           ByteBuffer.wrap(outputBuffer.getData(), 0, 
outputBuffer.getLength())));
-      URL url = new URL("http://127.0.0.1:"; + 
shuffleHandler.getConfig().get(ShuffleHandler.SHUFFLE_PORT_CONFIG_KEY)
+      URL url = URI.create("http://127.0.0.1:"; + 
shuffleHandler.getConfig().get(ShuffleHandler.SHUFFLE_PORT_CONFIG_KEY)
           + "/mapOutput?job=job_12345_0001&dag=1&reduce=" + reducerIdStart + 
"-" + reducerIdEnd + "&map="
-          + String.join(",", attemptIds));
+          + String.join(",", attemptIds)).toURL();
       LOG.info("Calling shuffle URL: {}", url);
       HttpURLConnection conn = (HttpURLConnection) url.openConnection();
       conn.setRequestProperty(ShuffleHeader.HTTP_HEADER_NAME, 
ShuffleHeader.DEFAULT_HTTP_HEADER_NAME);
@@ -966,12 +967,12 @@ public class TestShuffleHandler {
           appId, ByteBuffer.wrap(outputBuffer.getData(), 0,
             outputBuffer.getLength())));
       URL url =
-          new URL(
+          URI.create(
               "http://127.0.0.1:";
                   + shuffleHandler.getConfig().get(
                       ShuffleHandler.SHUFFLE_PORT_CONFIG_KEY)
                   + "/mapOutput?job=job_12345_0001&dag=1&reduce=" + reducerId
-                  + "&map=attempt_12345_1_m_1_0");
+                  + "&map=attempt_12345_1_m_1_0").toURL();
       HttpURLConnection conn = (HttpURLConnection) url.openConnection();
       conn.setRequestProperty(ShuffleHeader.HTTP_HEADER_NAME,
           ShuffleHeader.DEFAULT_HTTP_HEADER_NAME);
@@ -1206,10 +1207,10 @@ public class TestShuffleHandler {
 
   private static int getShuffleResponseCode(ShuffleHandler shuffle,
       Token<JobTokenIdentifier> jt) throws IOException {
-    URL url = new URL("http://127.0.0.1:";
+    URL url = URI.create("http://127.0.0.1:";
         + shuffle.getConfig().get(ShuffleHandler.SHUFFLE_PORT_CONFIG_KEY)
         + "/mapOutput?job=job_12345_0001&dag=1&reduce=0" +
-        "&map=attempt_12345_1_m_1_0");
+        "&map=attempt_12345_1_m_1_0").toURL();
     HttpURLConnection conn = (HttpURLConnection) url.openConnection();
     String encHash = SecureShuffleUtils.hashFromString(
         SecureShuffleUtils.buildMsgFrom(url),
@@ -1303,12 +1304,12 @@ public class TestShuffleHandler {
           appId, ByteBuffer.wrap(outputBuffer.getData(), 0,
           outputBuffer.getLength())));
       URL url =
-          new URL(
+          URI.create(
               "http://127.0.0.1:";
                   + shuffleHandler.getConfig().get(
                       ShuffleHandler.SHUFFLE_PORT_CONFIG_KEY)
                   + "/mapOutput?job=job_12345_0001&dag=1&reduce=" + reducerId
-                  + "&map=attempt_12345_1_m_1_0");
+                  + "&map=attempt_12345_1_m_1_0").toURL();
       HttpURLConnection conn = (HttpURLConnection) url.openConnection();
       conn.setRequestProperty(ShuffleHeader.HTTP_HEADER_NAME,
           ShuffleHeader.DEFAULT_HTTP_HEADER_NAME);
@@ -1380,11 +1381,11 @@ public class TestShuffleHandler {
               appId, ByteBuffer.wrap(outputBuffer.getData(), 0,
               outputBuffer.getLength())));
       URL url =
-          new URL(
+          URI.create(
               "http://127.0.0.1:";
                   + shuffleHandler.getConfig().get(
                   ShuffleHandler.SHUFFLE_PORT_CONFIG_KEY)
-                  + "/mapOutput?dagAction=delete&job=job_12345_0001&dag=1");
+                  + 
"/mapOutput?dagAction=delete&job=job_12345_0001&dag=1").toURL();
       HttpURLConnection conn = (HttpURLConnection) url.openConnection();
       conn.setRequestProperty(ShuffleHeader.HTTP_HEADER_NAME,
           ShuffleHeader.DEFAULT_HTTP_HEADER_NAME);
@@ -1472,11 +1473,11 @@ public class TestShuffleHandler {
                       appId, ByteBuffer.wrap(outputBuffer.getData(), 0,
                       outputBuffer.getLength())));
       URL url =
-              new URL(
+              URI.create(
                       "http://127.0.0.1:";
                               + shuffleHandler.getConfig().get(
                               ShuffleHandler.SHUFFLE_PORT_CONFIG_KEY)
-                              + 
"/mapOutput?vertexAction=delete&job=job_12345_0001&dag=1&vertex=00");
+                              + 
"/mapOutput?vertexAction=delete&job=job_12345_0001&dag=1&vertex=00").toURL();
       HttpURLConnection conn = (HttpURLConnection) url.openConnection();
       conn.setRequestProperty(ShuffleHeader.HTTP_HEADER_NAME,
               ShuffleHeader.DEFAULT_HTTP_HEADER_NAME);
@@ -1559,11 +1560,11 @@ public class TestShuffleHandler {
               appId, ByteBuffer.wrap(outputBuffer.getData(), 0,
               outputBuffer.getLength())));
       URL url =
-          new URL(
+          URI.create(
               "http://127.0.0.1:";
                   + shuffleHandler.getConfig().get(
                   ShuffleHandler.SHUFFLE_PORT_CONFIG_KEY)
-                  + 
"/mapOutput?taskAttemptAction=delete&job=job_12345_0001&dag=1&map=" + 
appAttemptId);
+                  + 
"/mapOutput?taskAttemptAction=delete&job=job_12345_0001&dag=1&map=" + 
appAttemptId).toURL();
       HttpURLConnection conn = (HttpURLConnection) url.openConnection();
       conn.setRequestProperty(ShuffleHeader.HTTP_HEADER_NAME,
           ShuffleHeader.DEFAULT_HTTP_HEADER_NAME);
@@ -1643,8 +1644,8 @@ public class TestShuffleHandler {
 
       String shuffleBaseURL = "http://127.0.0.1:";
           + 
shuffleHandler.getConfig().get(ShuffleHandler.SHUFFLE_PORT_CONFIG_KEY);
-      URL url = new URL(
-          shuffleBaseURL + 
"/mapOutput?job=job_12345_1&dag=1&reduce=1&map=attempt_12345_1_m_1_0");
+      URL url = URI.create(
+          shuffleBaseURL + 
"/mapOutput?job=job_12345_1&dag=1&reduce=1&map=attempt_12345_1_m_1_0").toURL();
       shuffleHandler.secretManager.addTokenForJob("job_12345_1",
           new Token<>("id".getBytes(), shuffleHandler.getSecret().getBytes(), 
null, null));
 
diff --git 
a/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/ATSImportTool.java
 
b/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/ATSImportTool.java
index 5ed9d376c..9357d5011 100644
--- 
a/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/ATSImportTool.java
+++ 
b/tez-plugins/tez-history-parser/src/main/java/org/apache/tez/history/ATSImportTool.java
@@ -345,7 +345,7 @@ public class ATSImportTool extends Configured implements 
Tool {
     public HttpURLConnection getHttpURLConnection(URL url) throws IOException {
       String tokenString = (url.getQuery() == null ? "?" : "&") + "user.name=" 
+
           
URLEncoder.encode(UserGroupInformation.getCurrentUser().getShortUserName(), 
"UTF8");
-      return (HttpURLConnection) (new URL(url.toString() + 
tokenString)).openConnection();
+      return (HttpURLConnection) URI.create(url.toString() + 
tokenString).toURL().openConnection();
     }
   }
 
diff --git 
a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/TezRuntimeUtils.java
 
b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/TezRuntimeUtils.java
index f56840c96..aafe1a9c9 100644
--- 
a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/TezRuntimeUtils.java
+++ 
b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/TezRuntimeUtils.java
@@ -22,6 +22,7 @@ import java.io.IOException;
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
 import java.net.MalformedURLException;
+import java.net.URI;
 import java.net.URL;
 import java.nio.ByteBuffer;
 
@@ -168,7 +169,7 @@ public final class TezRuntimeUtils {
     sb.append(appId.replace("application", "job"));
     sb.append("&dag=");
     sb.append(dagIdentifier);
-    return new URL(sb.toString());
+    return URI.create(sb.toString()).toURL();
   }
 
   public static URL constructBaseURIForShuffleHandlerVertexComplete(
@@ -187,7 +188,7 @@ public final class TezRuntimeUtils {
     sb.append(dagIdentifier);
     sb.append("&vertex=");
     sb.append(vertexIdentifier);
-    return new URL(sb.toString());
+    return URI.create(sb.toString()).toURL();
   }
 
   public static URL constructBaseURIForShuffleHandlerTaskAttemptFailed(
@@ -206,7 +207,7 @@ public final class TezRuntimeUtils {
     sb.append(dagIdentifier);
     sb.append("&map=");
     sb.append(taskAttemptIdentifier);
-    return new URL(sb.toString());
+    return URI.create(sb.toString()).toURL();
   }
 
   public static HttpConnectionParams getHttpConnectionParams(Configuration 
conf) {
diff --git 
a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/ShuffleUtils.java
 
b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/ShuffleUtils.java
index 6197acf27..b2135b056 100644
--- 
a/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/ShuffleUtils.java
+++ 
b/tez-runtime-library/src/main/java/org/apache/tez/runtime/library/common/shuffle/ShuffleUtils.java
@@ -23,6 +23,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.MalformedURLException;
+import java.net.URI;
 import java.net.URL;
 import java.nio.ByteBuffer;
 import java.text.DecimalFormat;
@@ -245,7 +246,7 @@ public final class ShuffleUtils {
     if (keepAlive) {
       url.append("&keepAlive=true");
     }
-    return new URL(url.toString());
+    return URI.create(url.toString()).toURL();
   }
 
   public static BaseHttpConnection getHttpConnection(boolean asyncHttp, URL 
url,
diff --git 
a/tez-runtime-library/src/test/java/org/apache/tez/http/TestHttpConnection.java 
b/tez-runtime-library/src/test/java/org/apache/tez/http/TestHttpConnection.java
index b41e2c81c..d3c98758c 100644
--- 
a/tez-runtime-library/src/test/java/org/apache/tez/http/TestHttpConnection.java
+++ 
b/tez-runtime-library/src/test/java/org/apache/tez/http/TestHttpConnection.java
@@ -27,6 +27,7 @@ import static org.mockito.Mockito.when;
 
 import java.io.IOException;
 import java.net.ConnectException;
+import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
 import java.nio.channels.ClosedByInterruptException;
@@ -76,7 +77,7 @@ public class TestHttpConnection {
             return t;
           }
         });
-    url = new URL(NOT_HOSTED_URL);
+    url = URI.create(NOT_HOSTED_URL).toURL();
     tokenSecretManager = mock(JobTokenSecretManager.class);
     when(tokenSecretManager.computeHash(any())).thenReturn("1234".getBytes());
   }
diff --git a/tez-tests/src/test/java/org/apache/tez/test/TestAM.java 
b/tez-tests/src/test/java/org/apache/tez/test/TestAM.java
index 5ddf23adb..a19991881 100644
--- a/tez-tests/src/test/java/org/apache/tez/test/TestAM.java
+++ b/tez-tests/src/test/java/org/apache/tez/test/TestAM.java
@@ -25,6 +25,7 @@ import static org.junit.Assert.assertTrue;
 import java.io.File;
 import java.io.IOException;
 import java.net.HttpURLConnection;
+import java.net.URI;
 import java.net.URL;
 
 import javax.servlet.http.HttpServletResponse;
@@ -138,12 +139,12 @@ public class TestAM {
     checkAddress(webUIAddress + "/prof-output");
 
     HttpURLConnection connection =
-        (HttpURLConnection) new URL(webUIAddress + 
"/prof-output?file=../etc/web").openConnection();
+        (HttpURLConnection) URI.create(webUIAddress + 
"/prof-output?file=../etc/web").toURL().openConnection();
     connection.connect();
     assertEquals(HttpServletResponse.SC_FORBIDDEN, 
connection.getResponseCode());
     assertTrue(new 
String(connection.getErrorStream().readAllBytes()).contains("Access denied: 
Invalid Path"));
 
-    URL url = new URL(webUIAddress);
+    URL url = URI.create(webUIAddress).toURL();
     IntegerRanges portRange = 
conf.getRange(TezConfiguration.TEZ_AM_WEBSERVICE_PORT_RANGE,
         TezConfiguration.TEZ_AM_WEBSERVICE_PORT_RANGE_DEFAULT);
     assertTrue("WebUIService port should be in the defined range (got: " + 
url.getPort() + ")",
@@ -159,7 +160,7 @@ public class TestAM {
   private void checkAddress(String url, int expectedCode) {
     boolean success = false;
     try {
-      HttpURLConnection connection = (HttpURLConnection) new 
URL(url).openConnection();
+      HttpURLConnection connection = (HttpURLConnection) 
URI.create(url).toURL().openConnection();
       connection.connect();
       success = (connection.getResponseCode() == expectedCode);
     } catch (Exception e) {

Reply via email to