diff --git a/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon b/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon index f7f7a12..9a921e1 100644 --- a/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon +++ b/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon @@ -44,6 +44,7 @@ org.apache.hadoop.hbase.client.HConnectionManager; org.apache.hadoop.hbase.HTableDescriptor; org.apache.hadoop.hbase.HBaseConfiguration; org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription; +org.apache.hadoop.http.HttpConfig; <%if format.equals("json") %> <& ../common/TaskMonitorTmpl; filter = filter; format = "json" &> @@ -241,7 +242,7 @@ org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.SnapshotDescription; // TODO: this is incorrect since this conf might differ from RS to RS // or be set to 0 to get ephemeral ports int infoPort = master.getConfiguration().getInt("hbase.regionserver.info.port", 60030); - String url = "http://" + serverName.getHostname() + ":" + infoPort + "/"; + String url = HttpConfig.getSchemePrefix() + serverName.getHostname() + ":" + infoPort + "/"; HServerLoad hsl = master.getServerManager().getLoad(serverName); String loadStr = hsl == null? "-": hsl.toString(); if (hsl != null) { diff --git a/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon b/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon index ae76204..8e341b9 100644 --- a/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon +++ b/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon @@ -36,6 +36,7 @@ org.apache.hadoop.hbase.HServerLoad; org.apache.hadoop.hbase.HRegionInfo; org.apache.hadoop.hbase.ServerName; org.apache.hadoop.hbase.HBaseConfiguration; +org.apache.hadoop.http.HttpConfig; <%if format.equals("json") %> <& ../common/TaskMonitorTmpl; filter = filter; format = "json" &> @@ -105,7 +106,7 @@ No hbase.master.info.port found <%else> <%java> String host = regionServer.getMasterAddressManager().getMasterAddress().getHostname() + ":" + masterInfoPort; -String url = "http://" + host + "/"; +String url = HttpConfig.getSchemePrefix() + host + "/"; <% host %> diff --git a/src/main/java/org/apache/hadoop/hbase/rest/client/Client.java b/src/main/java/org/apache/hadoop/hbase/rest/client/Client.java index 1e0dbbe..5c22ecd 100644 --- a/src/main/java/org/apache/hadoop/hbase/rest/client/Client.java +++ b/src/main/java/org/apache/hadoop/hbase/rest/client/Client.java @@ -41,6 +41,7 @@ import org.apache.commons.httpclient.params.HttpClientParams; import org.apache.commons.httpclient.params.HttpConnectionManagerParams; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.hadoop.http.HttpConfig; /** * A wrapper around HttpClient which provides some useful function and @@ -152,7 +153,7 @@ public class Client { cluster.lastHost = cluster.nodes.get(i); try { StringBuilder sb = new StringBuilder(); - sb.append("http://"); + sb.append(HttpConfig.getSchemePrefix()); sb.append(cluster.lastHost); sb.append(path); URI uri = new URI(sb.toString(), true); diff --git a/src/main/resources/hbase-webapps/master/table.jsp b/src/main/resources/hbase-webapps/master/table.jsp index a2e2010..82d3f9e 100644 --- a/src/main/resources/hbase-webapps/master/table.jsp +++ b/src/main/resources/hbase-webapps/master/table.jsp @@ -35,6 +35,7 @@ import="org.apache.hadoop.hbase.master.HMaster" import="org.apache.hadoop.hbase.util.Bytes" import="org.apache.hadoop.hbase.util.FSUtils" + import="org.apache.hadoop.http.HttpConfig" import="java.util.Map" import="org.apache.hadoop.hbase.HConstants"%><% HMaster master = (HMaster)getServletContext().getAttribute(HMaster.MASTER); @@ -114,7 +115,7 @@ %> <%= tableHeader %> <% - String url = "http://" + rl.getHostname() + ":" + infoPort + "/"; + String url = HttpConfig.getSchemePrefix() + rl.getHostname() + ":" + infoPort + "/"; %> <%= tableName %> @@ -133,7 +134,7 @@ HRegionInfo meta = HRegionInfo.FIRST_META_REGIONINFO; ServerName metaLocation = master.getCatalogTracker().waitForMeta(1); for (int i = 0; i < 1; i++) { - String url = "http://" + metaLocation.getHostname() + ":" + infoPort + "/"; + String url = HttpConfig.getSchemePrefix() + metaLocation.getHostname() + ":" + infoPort + "/"; %> <%= meta.getRegionNameAsString() %> @@ -190,7 +191,7 @@ } // This port might be wrong if RS actually ended up using something else. urlRegionServer = - "http://" + addr.getHostname().toString() + ":" + infoPort + "/"; + HttpConfig.getSchemePrefix() + addr.getHostname().toString() + ":" + infoPort + "/"; Integer i = regDistribution.get(urlRegionServer); if (null == i) i = new Integer(0); regDistribution.put(urlRegionServer, i+1); diff --git a/src/test/java/org/apache/hadoop/hbase/TestInfoServers.java b/src/test/java/org/apache/hadoop/hbase/TestInfoServers.java index f7c90d4..aecc418 100644 --- a/src/test/java/org/apache/hadoop/hbase/TestInfoServers.java +++ b/src/test/java/org/apache/hadoop/hbase/TestInfoServers.java @@ -27,6 +27,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoop.hbase.util.Bytes; +import org.apache.hadoop.http.HttpConfig; import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; @@ -66,11 +67,11 @@ public class TestInfoServers { // give the cluster time to start up new HTable(UTIL.getConfiguration(), ".META.").close(); int port = UTIL.getHBaseCluster().getMaster().getInfoServer().getPort(); - assertContainsContent(new URL("http://localhost:" + port + + assertContainsContent(new URL(HttpConfig.getSchemePrefix() + "localhost:" + port + "/index.html"), "master-status"); port = UTIL.getHBaseCluster().getRegionServerThreads().get(0).getRegionServer(). getInfoServer().getPort(); - assertContainsContent(new URL("http://localhost:" + port + + assertContainsContent(new URL(HttpConfig.getSchemePrefix() + "localhost:" + port + "/index.html"), "rs-status"); } @@ -86,11 +87,11 @@ public class TestInfoServers { // give the cluster time to start up new HTable(UTIL.getConfiguration(), ".META.").close(); int port = UTIL.getHBaseCluster().getMaster().getInfoServer().getPort(); - assertContainsContent(new URL("http://localhost:" + port + + assertContainsContent(new URL(HttpConfig.getSchemePrefix() + "localhost:" + port + "/master-status"), "META"); port = UTIL.getHBaseCluster().getRegionServerThreads().get(0).getRegionServer(). getInfoServer().getPort(); - assertContainsContent(new URL("http://localhost:" + port + + assertContainsContent(new URL(HttpConfig.getSchemePrefix() + "localhost:" + port + "/rs-status"), "META"); } @@ -103,10 +104,10 @@ public class TestInfoServers { new HTable(UTIL.getConfiguration(), tableName).close(); int port = UTIL.getHBaseCluster().getMaster().getInfoServer().getPort(); assertDoesNotContainContent( - new URL("http://localhost:" + port + "/table.jsp?name=" + sTableName + "&action=split&key="), + new URL(HttpConfig.getSchemePrefix() + "localhost:" + port + "/table.jsp?name=" + sTableName + "&action=split&key="), "Table action request accepted"); assertDoesNotContainContent( - new URL("http://localhost:" + port + "/table.jsp?name=" + sTableName), + new URL(HttpConfig.getSchemePrefix() + "localhost:" + port + "/table.jsp?name=" + sTableName), "Actions:"); } diff --git a/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java b/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java index 2a0284e..239a444 100644 --- a/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java +++ b/src/test/java/org/apache/hadoop/hbase/rest/TestRowResource.java @@ -41,6 +41,7 @@ import org.apache.hadoop.hbase.rest.model.CellModel; import org.apache.hadoop.hbase.rest.model.CellSetModel; import org.apache.hadoop.hbase.rest.model.RowModel; import org.apache.hadoop.hbase.util.Bytes; +import org.apache.hadoop.http.HttpConfig; import static org.junit.Assert.*; @@ -533,7 +534,7 @@ public class TestRowResource { @Test public void testURLEncodedKey() throws IOException, JAXBException { - String urlKey = "http://example.com/foo"; + String urlKey = HttpConfig.getSchemePrefix() + "example.com/foo"; StringBuilder path = new StringBuilder(); path.append('/'); path.append(TABLE); diff --git a/src/test/java/org/apache/hadoop/hbase/util/TestBytes.java b/src/test/java/org/apache/hadoop/hbase/util/TestBytes.java index 70e707a..c4aea47 100644 --- a/src/test/java/org/apache/hadoop/hbase/util/TestBytes.java +++ b/src/test/java/org/apache/hadoop/hbase/util/TestBytes.java @@ -31,6 +31,7 @@ import java.util.Random; import junit.framework.TestCase; import org.apache.hadoop.hbase.SmallTests; +import org.apache.hadoop.http.HttpConfig; import org.junit.experimental.categories.Category; @Category(SmallTests.class) @@ -69,9 +70,9 @@ public class TestBytes extends TestCase { public void testSplit2() throws Exception { // More split tests. - byte [] lowest = Bytes.toBytes("http://A"); - byte [] highest = Bytes.toBytes("http://z"); - byte [] middle = Bytes.toBytes("http://]"); + byte [] lowest = Bytes.toBytes(HttpConfig.getSchemePrefix() + "A"); + byte [] highest = Bytes.toBytes(HttpConfig.getSchemePrefix() + "z"); + byte [] middle = Bytes.toBytes(HttpConfig.getSchemePrefix() + "]"); byte [][] parts = Bytes.split(lowest, highest, 1); for (int i = 0; i < parts.length; i++) { System.out.println(Bytes.toString(parts[i]));