From e36981fdef313c2c18e1729e3c08e4633bf5dd31 Mon Sep 17 00:00:00 2001 From: arafat Date: Fri, 24 Feb 2023 13:19:14 +0530 Subject: [PATCH 01/10] HDDS-6176. Ozone service WebUI is not accessible with 404 error. --- .../common/src/main/resources/ozone-default.xml | 2 +- .../hadoop/hdds/server/http/BaseHttpServer.java | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/hadoop-hdds/common/src/main/resources/ozone-default.xml b/hadoop-hdds/common/src/main/resources/ozone-default.xml index c6adf0c2db87..08ad3de22369 100644 --- a/hadoop-hdds/common/src/main/resources/ozone-default.xml +++ b/hadoop-hdds/common/src/main/resources/ozone-default.xml @@ -2935,7 +2935,7 @@ The base dir for HTTP Jetty server to extract contents. If this property is not configured, by default, Jetty will create a directory inside the - directory named by the java.io.tmpdir System property(/tmp by default). + directory named by the ozone.metadata.dirs System property(/tmp/metadata by default). While in production environment, it's strongly suggested to instruct Jetty to use a different parent directory by setting this property to the name of the desired parent directory. The value of the property will be used to diff --git a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java index 144cec862099..9e65f88e32e7 100644 --- a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java +++ b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java @@ -178,11 +178,14 @@ public BaseHttpServer(MutableConfigurationSource conf, String name) } String baseDir = conf.get(OzoneConfigKeys.OZONE_HTTP_BASEDIR); - if (!StringUtils.isEmpty(baseDir)) { - createDir(baseDir); - httpServer.getWebAppContext().setAttribute(JETTY_BASETMPDIR, baseDir); - LOG.info("HTTP server of {} uses base directory {}", name, baseDir); + + if (StringUtils.isEmpty(baseDir)) { + baseDir = conf.get(OzoneConfigKeys.OZONE_METADATA_DIRS) + "/webserver"; } + createDir(baseDir); + httpServer.getWebAppContext().setAttribute(JETTY_BASETMPDIR, baseDir); + LOG.info("HTTP server of {} uses base directory {}", name, baseDir); + } } } From 8570c04f5936f344912b5fefffb549fd11829811 Mon Sep 17 00:00:00 2001 From: arafat Date: Fri, 24 Feb 2023 13:21:56 +0530 Subject: [PATCH 02/10] HDDS-6176. Ozone service WebUI is not accessible with 404 error. --- .../java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java | 1 - 1 file changed, 1 deletion(-) diff --git a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java index 9e65f88e32e7..24fd3f833457 100644 --- a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java +++ b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java @@ -186,7 +186,6 @@ public BaseHttpServer(MutableConfigurationSource conf, String name) httpServer.getWebAppContext().setAttribute(JETTY_BASETMPDIR, baseDir); LOG.info("HTTP server of {} uses base directory {}", name, baseDir); } - } } /** From 78940e90ff4e2e2cd1182a6337bb7fa2febe0017 Mon Sep 17 00:00:00 2001 From: arafat Date: Fri, 24 Feb 2023 18:43:22 +0530 Subject: [PATCH 03/10] Made changes to the description --- hadoop-hdds/common/src/main/resources/ozone-default.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hadoop-hdds/common/src/main/resources/ozone-default.xml b/hadoop-hdds/common/src/main/resources/ozone-default.xml index 08ad3de22369..3f608162dd12 100644 --- a/hadoop-hdds/common/src/main/resources/ozone-default.xml +++ b/hadoop-hdds/common/src/main/resources/ozone-default.xml @@ -2935,7 +2935,7 @@ The base dir for HTTP Jetty server to extract contents. If this property is not configured, by default, Jetty will create a directory inside the - directory named by the ozone.metadata.dirs System property(/tmp/metadata by default). + directory named by the ozone.metadata.dirs(/tmp/metadata) While in production environment, it's strongly suggested to instruct Jetty to use a different parent directory by setting this property to the name of the desired parent directory. The value of the property will be used to From 2afb4be7a53e453290df15217f6046b1c60110fd Mon Sep 17 00:00:00 2001 From: arafat Date: Sat, 25 Feb 2023 20:33:18 +0530 Subject: [PATCH 04/10] Made code review changes --- hadoop-hdds/common/src/main/resources/ozone-default.xml | 9 ++++----- .../apache/hadoop/hdds/server/http/BaseHttpServer.java | 4 +++- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/hadoop-hdds/common/src/main/resources/ozone-default.xml b/hadoop-hdds/common/src/main/resources/ozone-default.xml index 3f608162dd12..c2efeeb7794c 100644 --- a/hadoop-hdds/common/src/main/resources/ozone-default.xml +++ b/hadoop-hdds/common/src/main/resources/ozone-default.xml @@ -2935,11 +2935,10 @@ The base dir for HTTP Jetty server to extract contents. If this property is not configured, by default, Jetty will create a directory inside the - directory named by the ozone.metadata.dirs(/tmp/metadata) - While in production environment, it's strongly suggested to instruct Jetty - to use a different parent directory by setting this property to the name - of the desired parent directory. The value of the property will be used to - set Jetty context attribute 'org.eclipse.jetty.webapp.basetempdir'. + directory named by the ozone.metadata.dirs. While in production environment, + it's strongly suggested instructing Jetty to use a different parent directory by + setting this property to the name of the desired parent directory. The value of the + property will be used to set Jetty context attribute 'org.eclipse.jetty.webapp.basetempdir'. The directory named by this property must exist and be writeable. diff --git a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java index 24fd3f833457..97ecae68bf7c 100644 --- a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java +++ b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java @@ -70,6 +70,7 @@ public abstract class BaseHttpServer { static final String PROMETHEUS_SINK = "PROMETHEUS_SINK"; private static final String JETTY_BASETMPDIR = "org.eclipse.jetty.webapp.basetempdir"; + private final String WEB_SERVER_DIR = "/webserver"; private HttpServer2 httpServer; private final MutableConfigurationSource conf; @@ -180,7 +181,8 @@ public BaseHttpServer(MutableConfigurationSource conf, String name) String baseDir = conf.get(OzoneConfigKeys.OZONE_HTTP_BASEDIR); if (StringUtils.isEmpty(baseDir)) { - baseDir = conf.get(OzoneConfigKeys.OZONE_METADATA_DIRS) + "/webserver"; + baseDir = + conf.get(OzoneConfigKeys.OZONE_METADATA_DIRS) + WEB_SERVER_DIR; } createDir(baseDir); httpServer.getWebAppContext().setAttribute(JETTY_BASETMPDIR, baseDir); From 41ccee91e5a731494b8ff786c393ea32f416b3c0 Mon Sep 17 00:00:00 2001 From: arafat Date: Sun, 26 Feb 2023 11:26:08 +0530 Subject: [PATCH 05/10] Fixed checkstyle issue --- .../org/apache/hadoop/hdds/server/http/BaseHttpServer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java index 97ecae68bf7c..f9146b1a1837 100644 --- a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java +++ b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java @@ -70,7 +70,7 @@ public abstract class BaseHttpServer { static final String PROMETHEUS_SINK = "PROMETHEUS_SINK"; private static final String JETTY_BASETMPDIR = "org.eclipse.jetty.webapp.basetempdir"; - private final String WEB_SERVER_DIR = "/webserver"; + private final String serverDir = "/webserver"; private HttpServer2 httpServer; private final MutableConfigurationSource conf; @@ -182,7 +182,7 @@ public BaseHttpServer(MutableConfigurationSource conf, String name) if (StringUtils.isEmpty(baseDir)) { baseDir = - conf.get(OzoneConfigKeys.OZONE_METADATA_DIRS) + WEB_SERVER_DIR; + conf.get(OzoneConfigKeys.OZONE_METADATA_DIRS) + serverDir; } createDir(baseDir); httpServer.getWebAppContext().setAttribute(JETTY_BASETMPDIR, baseDir); From ccf72ec3ba07a42c3bdced960315f46d156e332f Mon Sep 17 00:00:00 2001 From: arafat Date: Mon, 27 Feb 2023 20:16:57 +0530 Subject: [PATCH 06/10] Code review changes approved --- .../org/apache/hadoop/hdds/server/http/BaseHttpServer.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java index f9146b1a1837..1faa6f63247f 100644 --- a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java +++ b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java @@ -43,6 +43,7 @@ import static org.apache.hadoop.hdds.HddsUtils.getHostNameFromConfigKeys; import static org.apache.hadoop.hdds.HddsUtils.getPortNumberFromConfigKeys; import static org.apache.hadoop.hdds.HddsUtils.createDir; +import static org.apache.hadoop.hdds.server.ServerUtils.getOzoneMetaDirPath; import static org.apache.hadoop.hdds.server.http.HttpConfig.getHttpPolicy; import static org.apache.hadoop.ozone.OzoneConfigKeys.OZONE_ADMINISTRATORS; import static org.apache.hadoop.ozone.OzoneConfigKeys.OZONE_ADMINISTRATORS_GROUPS; @@ -182,7 +183,7 @@ public BaseHttpServer(MutableConfigurationSource conf, String name) if (StringUtils.isEmpty(baseDir)) { baseDir = - conf.get(OzoneConfigKeys.OZONE_METADATA_DIRS) + serverDir; + conf.get(String.valueOf(getOzoneMetaDirPath(conf))) + serverDir; } createDir(baseDir); httpServer.getWebAppContext().setAttribute(JETTY_BASETMPDIR, baseDir); From 02559931029af1bcc6ed925cb0be582eae4c633d Mon Sep 17 00:00:00 2001 From: arafat Date: Wed, 1 Mar 2023 12:46:41 +0530 Subject: [PATCH 07/10] UT fails fixed --- .../org/apache/hadoop/hdds/server/http/BaseHttpServer.java | 3 +-- .../hdds/scm/TestStorageContainerManagerHttpServer.java | 4 +++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java index 1faa6f63247f..dc8fc67f2601 100644 --- a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java +++ b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java @@ -182,8 +182,7 @@ public BaseHttpServer(MutableConfigurationSource conf, String name) String baseDir = conf.get(OzoneConfigKeys.OZONE_HTTP_BASEDIR); if (StringUtils.isEmpty(baseDir)) { - baseDir = - conf.get(String.valueOf(getOzoneMetaDirPath(conf))) + serverDir; + baseDir = getOzoneMetaDirPath(conf) + serverDir; } createDir(baseDir); httpServer.getWebAppContext().setAttribute(JETTY_BASETMPDIR, baseDir); diff --git a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/TestStorageContainerManagerHttpServer.java b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/TestStorageContainerManagerHttpServer.java index 4446631851e4..dd7be4800508 100644 --- a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/TestStorageContainerManagerHttpServer.java +++ b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/TestStorageContainerManagerHttpServer.java @@ -56,7 +56,8 @@ public class TestStorageContainerManagerHttpServer { public static void setUp() throws Exception { File base = new File(BASEDIR); FileUtil.fullyDelete(base); - base.mkdirs(); + File ozoneMetadataDirectory = new File(BASEDIR,"metadata"); + ozoneMetadataDirectory.mkdirs(); conf = new OzoneConfiguration(); keystoresDir = new File(BASEDIR).getAbsolutePath(); sslConfDir = KeyStoreTestUtil.getClasspathDir( @@ -68,6 +69,7 @@ public static void setUp() throws Exception { KeyStoreTestUtil.getClientSSLConfigFileName()); conf.set(OzoneConfigKeys.OZONE_SERVER_HTTPS_KEYSTORE_RESOURCE_KEY, KeyStoreTestUtil.getServerSSLConfigFileName()); + conf.set(OzoneConfigKeys.OZONE_METADATA_DIRS,ozoneMetadataDirectory.getAbsolutePath()); } @AfterAll From 6220c8a63e6a14f9cd58feb017067534bc9a21b6 Mon Sep 17 00:00:00 2001 From: arafat Date: Thu, 2 Mar 2023 00:22:58 +0530 Subject: [PATCH 08/10] Added unit tests for jetty path creation --- .../hdds/server/http/BaseHttpServer.java | 9 +++- ...TestStorageContainerManagerHttpServer.java | 5 ++- .../ozone/om/TestOzoneManagerHttpServer.java | 45 ++++++++++++++++--- 3 files changed, 50 insertions(+), 9 deletions(-) diff --git a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java index dc8fc67f2601..11ddfca420f5 100644 --- a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java +++ b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java @@ -24,6 +24,7 @@ import java.util.Optional; import java.util.OptionalInt; +import com.google.common.annotations.VisibleForTesting; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hdds.DFSConfigKeysLegacy; import org.apache.hadoop.hdds.HddsConfigKeys; @@ -71,7 +72,7 @@ public abstract class BaseHttpServer { static final String PROMETHEUS_SINK = "PROMETHEUS_SINK"; private static final String JETTY_BASETMPDIR = "org.eclipse.jetty.webapp.basetempdir"; - private final String serverDir = "/webserver"; + public static final String SERVER_DIR = "/webserver"; private HttpServer2 httpServer; private final MutableConfigurationSource conf; @@ -190,6 +191,12 @@ public BaseHttpServer(MutableConfigurationSource conf, String name) } } + @VisibleForTesting + public String getJettyPath() { + return httpServer.getWebAppContext().getAttribute(JETTY_BASETMPDIR) + .toString(); + } + /** * Return a HttpServer.Builder that the OzoneManager/SCM/Datanode/S3Gateway/ * Recon to initialize their HTTP / HTTPS server. diff --git a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/TestStorageContainerManagerHttpServer.java b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/TestStorageContainerManagerHttpServer.java index dd7be4800508..eb244f3f4016 100644 --- a/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/TestStorageContainerManagerHttpServer.java +++ b/hadoop-hdds/server-scm/src/test/java/org/apache/hadoop/hdds/scm/TestStorageContainerManagerHttpServer.java @@ -56,7 +56,7 @@ public class TestStorageContainerManagerHttpServer { public static void setUp() throws Exception { File base = new File(BASEDIR); FileUtil.fullyDelete(base); - File ozoneMetadataDirectory = new File(BASEDIR,"metadata"); + File ozoneMetadataDirectory = new File(BASEDIR, "metadata"); ozoneMetadataDirectory.mkdirs(); conf = new OzoneConfiguration(); keystoresDir = new File(BASEDIR).getAbsolutePath(); @@ -69,7 +69,8 @@ public static void setUp() throws Exception { KeyStoreTestUtil.getClientSSLConfigFileName()); conf.set(OzoneConfigKeys.OZONE_SERVER_HTTPS_KEYSTORE_RESOURCE_KEY, KeyStoreTestUtil.getServerSSLConfigFileName()); - conf.set(OzoneConfigKeys.OZONE_METADATA_DIRS,ozoneMetadataDirectory.getAbsolutePath()); + conf.set(OzoneConfigKeys.OZONE_METADATA_DIRS, + ozoneMetadataDirectory.getAbsolutePath()); } @AfterAll diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOzoneManagerHttpServer.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOzoneManagerHttpServer.java index 5e8909a127d1..c1445af5c886 100644 --- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOzoneManagerHttpServer.java +++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOzoneManagerHttpServer.java @@ -27,6 +27,7 @@ import org.apache.hadoop.fs.FileUtil; import org.apache.hadoop.hdds.conf.OzoneConfiguration; +import org.apache.hadoop.hdds.server.http.BaseHttpServer; import org.apache.hadoop.hdfs.web.URLConnectionFactory; import org.apache.hadoop.http.HttpConfig; import org.apache.hadoop.http.HttpConfig.Policy; @@ -40,6 +41,7 @@ import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; +import org.junit.jupiter.api.Assertions; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; @@ -55,6 +57,7 @@ public class TestOzoneManagerHttpServer { private static String sslConfDir; private static OzoneConfiguration conf; private static URLConnectionFactory connectionFactory; + private static File ozoneMetadataDirectory; @Parameters public static Collection policy() { Object[][] params = new Object[][] { @@ -74,7 +77,12 @@ public TestOzoneManagerHttpServer(Policy policy) { @BeforeClass public static void setUp() throws Exception { File base = new File(BASEDIR); FileUtil.fullyDelete(base); - base.mkdirs(); + + // Create metadata directory + ozoneMetadataDirectory = new File(BASEDIR, "metadata"); + ozoneMetadataDirectory.mkdirs(); + + // Initialize the OzoneConfiguration conf = new OzoneConfiguration(); keystoresDir = new File(BASEDIR).getAbsolutePath(); sslConfDir = KeyStoreTestUtil.getClasspathDir( @@ -86,6 +94,14 @@ public TestOzoneManagerHttpServer(Policy policy) { KeyStoreTestUtil.getClientSSLConfigFileName()); conf.set(OzoneConfigKeys.OZONE_SERVER_HTTPS_KEYSTORE_RESOURCE_KEY, KeyStoreTestUtil.getServerSSLConfigFileName()); + + // Set up OM HTTP and HTTPS addresses + conf.set(OzoneConfigKeys.OZONE_METADATA_DIRS, + ozoneMetadataDirectory.getAbsolutePath()); + conf.set(OMConfigKeys.OZONE_OM_HTTP_ADDRESS_KEY, "localhost:0"); + conf.set(OMConfigKeys.OZONE_OM_HTTPS_ADDRESS_KEY, "localhost:0"); + conf.set(OMConfigKeys.OZONE_OM_HTTP_BIND_HOST_KEY, "localhost"); + conf.set(OMConfigKeys.OZONE_OM_HTTPS_BIND_HOST_KEY, "localhost"); } @AfterClass public static void tearDown() throws Exception { @@ -96,11 +112,6 @@ public TestOzoneManagerHttpServer(Policy policy) { @Test public void testHttpPolicy() throws Exception { conf.set(OzoneConfigKeys.OZONE_HTTP_POLICY_KEY, policy.name()); - conf.set(OMConfigKeys.OZONE_OM_HTTP_ADDRESS_KEY, "localhost:0"); - conf.set(OMConfigKeys.OZONE_OM_HTTPS_ADDRESS_KEY, "localhost:0"); - conf.set(OMConfigKeys.OZONE_OM_HTTP_BIND_HOST_KEY, "localhost"); - conf.set(OMConfigKeys.OZONE_OM_HTTPS_BIND_HOST_KEY, "localhost"); - OzoneManagerHttpServer server = null; try { server = new OzoneManagerHttpServer(conf, null); @@ -117,7 +128,29 @@ public TestOzoneManagerHttpServer(Policy policy) { canAccess("https", server.getHttpsAddress()))); Assert.assertTrue(implies(policy.isHttpsEnabled(), !canAccess("http", server.getHttpsAddress()))); + } finally { + if (server != null) { + server.stop(); + } + } + } + @Test + // Verify if jetty-dir will be created inside ozoneMetadataDirectory path + public void testJettyDirectoryCreation() throws Exception { + OzoneManagerHttpServer server = null; + try { + server = new OzoneManagerHttpServer(conf, null); + DefaultMetricsSystem.initialize("TestOzoneManagerHttpServer"); + server.start(); + // Checking if the /webserver directory does get created + File webServerDir = + new File(ozoneMetadataDirectory, BaseHttpServer.SERVER_DIR); + Assert.assertTrue(webServerDir.exists()); + // Verify that the jetty directory is set correctly + String expectedJettyDirLocation = + ozoneMetadataDirectory.getAbsolutePath() + BaseHttpServer.SERVER_DIR; + Assertions.assertEquals(expectedJettyDirLocation, server.getJettyPath()); } finally { if (server != null) { server.stop(); From 2f930801c3fbac0bc221fe0fa79dd150a6c14982 Mon Sep 17 00:00:00 2001 From: arafat Date: Thu, 2 Mar 2023 01:46:45 +0530 Subject: [PATCH 09/10] Fixed Bugs --- .../java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java index 11ddfca420f5..fa9eea62f5d4 100644 --- a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java +++ b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java @@ -183,7 +183,7 @@ public BaseHttpServer(MutableConfigurationSource conf, String name) String baseDir = conf.get(OzoneConfigKeys.OZONE_HTTP_BASEDIR); if (StringUtils.isEmpty(baseDir)) { - baseDir = getOzoneMetaDirPath(conf) + serverDir; + baseDir = getOzoneMetaDirPath(conf) + SERVER_DIR; } createDir(baseDir); httpServer.getWebAppContext().setAttribute(JETTY_BASETMPDIR, baseDir); From f3ed598f86f092f78b8ad1e7f055517f8c377b20 Mon Sep 17 00:00:00 2001 From: arafat Date: Thu, 2 Mar 2023 10:24:48 +0530 Subject: [PATCH 10/10] Changed method name and updated discription --- hadoop-hdds/common/src/main/resources/ozone-default.xml | 2 +- .../org/apache/hadoop/hdds/server/http/BaseHttpServer.java | 2 +- .../org/apache/hadoop/ozone/om/TestOzoneManagerHttpServer.java | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/hadoop-hdds/common/src/main/resources/ozone-default.xml b/hadoop-hdds/common/src/main/resources/ozone-default.xml index c2efeeb7794c..ee15820250ba 100644 --- a/hadoop-hdds/common/src/main/resources/ozone-default.xml +++ b/hadoop-hdds/common/src/main/resources/ozone-default.xml @@ -2935,7 +2935,7 @@ The base dir for HTTP Jetty server to extract contents. If this property is not configured, by default, Jetty will create a directory inside the - directory named by the ozone.metadata.dirs. While in production environment, + directory named by the ${ozone.metadata.dirs}/webserver. While in production environment, it's strongly suggested instructing Jetty to use a different parent directory by setting this property to the name of the desired parent directory. The value of the property will be used to set Jetty context attribute 'org.eclipse.jetty.webapp.basetempdir'. diff --git a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java index fa9eea62f5d4..1e1b9bd66afb 100644 --- a/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java +++ b/hadoop-hdds/framework/src/main/java/org/apache/hadoop/hdds/server/http/BaseHttpServer.java @@ -192,7 +192,7 @@ public BaseHttpServer(MutableConfigurationSource conf, String name) } @VisibleForTesting - public String getJettyPath() { + public String getJettyBaseTmpDir() { return httpServer.getWebAppContext().getAttribute(JETTY_BASETMPDIR) .toString(); } diff --git a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOzoneManagerHttpServer.java b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOzoneManagerHttpServer.java index c1445af5c886..4c75ed9191a3 100644 --- a/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOzoneManagerHttpServer.java +++ b/hadoop-ozone/ozone-manager/src/test/java/org/apache/hadoop/ozone/om/TestOzoneManagerHttpServer.java @@ -150,7 +150,8 @@ public void testJettyDirectoryCreation() throws Exception { // Verify that the jetty directory is set correctly String expectedJettyDirLocation = ozoneMetadataDirectory.getAbsolutePath() + BaseHttpServer.SERVER_DIR; - Assertions.assertEquals(expectedJettyDirLocation, server.getJettyPath()); + Assertions.assertEquals(expectedJettyDirLocation, + server.getJettyBaseTmpDir()); } finally { if (server != null) { server.stop();