[jira] [Updated] (SPARK-47934) Inefficient Redirect Handling Due to Missing Trailing Slashes in URL Redirection
[ https://issues.apache.org/jira/browse/SPARK-47934?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] ASF GitHub Bot updated SPARK-47934: --- Labels: pull-request-available (was: ) > Inefficient Redirect Handling Due to Missing Trailing Slashes in URL > Redirection > > > Key: SPARK-47934 > URL: https://issues.apache.org/jira/browse/SPARK-47934 > Project: Spark > Issue Type: Improvement > Components: Spark Core >Affects Versions: 3.2.4, 3.3.2, 3.5.1, 3.4.3 >Reporter: huangzhir >Priority: Trivial > Labels: pull-request-available > Attachments: image-2024-04-22-15-14-13-468.png > > > *Summary:* > The current implementation of URL redirection in Spark's history web UI does > not consistently add trailing slashes to URLs when constructing redirection > targets. This inconsistency leads to additional HTTP redirects by Jetty, > which increases the load time and reduces the efficiency of the Spark UI. > *Problem Description:* > When constructing redirect URLs, particularly in scenarios where an attempt > ID needs to be appended, the system does not ensure that the base URL ends > with a slash. This omission results in the generated URL being redirected by > Jetty to add a trailing slash, thus causing an unnecessary additional HTTP > redirect. > For example, when the `shouldAppendAttemptId` flag is true, the URL is formed > without a trailing slash before the attempt ID is appended, leading to two > redirects: one by our logic to add the attempt ID, and another by Jetty to > correct the missing slash. > !image-2024-04-22-15-14-13-468.png! > *Proposed Solution:* > [https://github.com/apache/spark/blob/2d0b56c3eac611e743c41d16ea8e439bc8a504e4/core/src/main/scala/org/apache/spark/deploy/history/HistoryServer.scala#L118] > Ensure that all redirect URLs uniformly end with a trailing slash regardless > of whether an attempt ID is appended. This can be achieved by modifying the > URL construction logic as follows: > ```scala > val redirect = if (shouldAppendAttemptId) > { req.getRequestURI.stripSuffix("/") + "/" + attemptId.get + "/" } > else > { req.getRequestURI.stripSuffix("/") + "/" } > ``` > -- This message was sent by Atlassian Jira (v8.20.10#820010) - To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org
[jira] [Updated] (SPARK-47934) Inefficient Redirect Handling Due to Missing Trailing Slashes in URL Redirection
[ https://issues.apache.org/jira/browse/SPARK-47934?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] huangzhir updated SPARK-47934: -- Attachment: image-2024-04-22-15-14-13-468.png > Inefficient Redirect Handling Due to Missing Trailing Slashes in URL > Redirection > > > Key: SPARK-47934 > URL: https://issues.apache.org/jira/browse/SPARK-47934 > Project: Spark > Issue Type: Improvement > Components: Spark Core >Affects Versions: 3.2.4, 3.3.2, 3.5.1, 3.4.3 >Reporter: huangzhir >Priority: Trivial > Attachments: image-2024-04-22-15-14-13-468.png > > > *{*}Summary:{*}* > The current implementation of URL redirection in Spark's history web UI does > not consistently add trailing slashes to URLs when constructing redirection > targets. This inconsistency leads to additional HTTP redirects by Jetty, > which increases the load time and reduces the efficiency of the Spark UI. > *{*}Problem Description:{*}* > When constructing redirect URLs, particularly in scenarios where an attempt > ID needs to be appended, the system does not ensure that the base URL ends > with a slash. This omission results in the generated URL being redirected by > Jetty to add a trailing slash, thus causing an unnecessary additional HTTP > redirect. > For example, when the `shouldAppendAttemptId` flag is true, the URL is formed > without a trailing slash before the attempt ID is appended, leading to two > redirects: one by our logic to add the attempt ID, and another by Jetty to > correct the missing slash. > !image-2024-04-22-15-06-29-357.png! > *{*}Proposed Solution:{*}* > [https://github.com/apache/spark/blob/2d0b56c3eac611e743c41d16ea8e439bc8a504e4/core/src/main/scala/org/apache/spark/deploy/history/HistoryServer.scala#L118] > Ensure that all redirect URLs uniformly end with a trailing slash regardless > of whether an attempt ID is appended. This can be achieved by modifying the > URL construction logic as follows: > ```scala > val redirect = if (shouldAppendAttemptId) { > req.getRequestURI.stripSuffix("/") + "/" + attemptId.get + "/" > } else { > req.getRequestURI.stripSuffix("/") + "/" > } > ``` > -- This message was sent by Atlassian Jira (v8.20.10#820010) - To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org
[jira] [Updated] (SPARK-47934) Inefficient Redirect Handling Due to Missing Trailing Slashes in URL Redirection
[ https://issues.apache.org/jira/browse/SPARK-47934?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] huangzhir updated SPARK-47934: -- Description: *Summary:* The current implementation of URL redirection in Spark's history web UI does not consistently add trailing slashes to URLs when constructing redirection targets. This inconsistency leads to additional HTTP redirects by Jetty, which increases the load time and reduces the efficiency of the Spark UI. *Problem Description:* When constructing redirect URLs, particularly in scenarios where an attempt ID needs to be appended, the system does not ensure that the base URL ends with a slash. This omission results in the generated URL being redirected by Jetty to add a trailing slash, thus causing an unnecessary additional HTTP redirect. For example, when the `shouldAppendAttemptId` flag is true, the URL is formed without a trailing slash before the attempt ID is appended, leading to two redirects: one by our logic to add the attempt ID, and another by Jetty to correct the missing slash. !image-2024-04-22-15-14-13-468.png! *Proposed Solution:* [https://github.com/apache/spark/blob/2d0b56c3eac611e743c41d16ea8e439bc8a504e4/core/src/main/scala/org/apache/spark/deploy/history/HistoryServer.scala#L118] Ensure that all redirect URLs uniformly end with a trailing slash regardless of whether an attempt ID is appended. This can be achieved by modifying the URL construction logic as follows: ```scala val redirect = if (shouldAppendAttemptId) { req.getRequestURI.stripSuffix("/") + "/" + attemptId.get + "/" } else { req.getRequestURI.stripSuffix("/") + "/" } ``` was: {*}{{*}}Summary:{{*}}{*} The current implementation of URL redirection in Spark's history web UI does not consistently add trailing slashes to URLs when constructing redirection targets. This inconsistency leads to additional HTTP redirects by Jetty, which increases the load time and reduces the efficiency of the Spark UI. {*}{{*}}Problem Description:{{*}}{*} When constructing redirect URLs, particularly in scenarios where an attempt ID needs to be appended, the system does not ensure that the base URL ends with a slash. This omission results in the generated URL being redirected by Jetty to add a trailing slash, thus causing an unnecessary additional HTTP redirect. For example, when the `shouldAppendAttemptId` flag is true, the URL is formed without a trailing slash before the attempt ID is appended, leading to two redirects: one by our logic to add the attempt ID, and another by Jetty to correct the missing slash. !image-2024-04-22-15-14-13-468.png! {*}{{*}}Proposed Solution:{{*}}{*} [https://github.com/apache/spark/blob/2d0b56c3eac611e743c41d16ea8e439bc8a504e4/core/src/main/scala/org/apache/spark/deploy/history/HistoryServer.scala#L118] Ensure that all redirect URLs uniformly end with a trailing slash regardless of whether an attempt ID is appended. This can be achieved by modifying the URL construction logic as follows: ```scala val redirect = if (shouldAppendAttemptId) { req.getRequestURI.stripSuffix("/") + "/" + attemptId.get + "/" } else { req.getRequestURI.stripSuffix("/") + "/" } ``` > Inefficient Redirect Handling Due to Missing Trailing Slashes in URL > Redirection > > > Key: SPARK-47934 > URL: https://issues.apache.org/jira/browse/SPARK-47934 > Project: Spark > Issue Type: Improvement > Components: Spark Core >Affects Versions: 3.2.4, 3.3.2, 3.5.1, 3.4.3 >Reporter: huangzhir >Priority: Trivial > Attachments: image-2024-04-22-15-14-13-468.png > > > *Summary:* > The current implementation of URL redirection in Spark's history web UI does > not consistently add trailing slashes to URLs when constructing redirection > targets. This inconsistency leads to additional HTTP redirects by Jetty, > which increases the load time and reduces the efficiency of the Spark UI. > *Problem Description:* > When constructing redirect URLs, particularly in scenarios where an attempt > ID needs to be appended, the system does not ensure that the base URL ends > with a slash. This omission results in the generated URL being redirected by > Jetty to add a trailing slash, thus causing an unnecessary additional HTTP > redirect. > For example, when the `shouldAppendAttemptId` flag is true, the URL is formed > without a trailing slash before the attempt ID is appended, leading to two > redirects: one by our logic to add the attempt ID, and another by Jetty to > correct the missing slash. > !image-2024-04-22-15-14-13-468.png! > *Proposed Solution:* > [https://github.com/apache/spark/blob/2d0b56c3eac611e743c41d16ea8e439bc8a504e4/core/src/main/scala/org/apache/spark/deploy/history/HistoryServer.scala#L118] > Ensure that all
[jira] [Updated] (SPARK-47934) Inefficient Redirect Handling Due to Missing Trailing Slashes in URL Redirection
[ https://issues.apache.org/jira/browse/SPARK-47934?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] huangzhir updated SPARK-47934: -- Description: {*}{{*}}Summary:{{*}}{*} The current implementation of URL redirection in Spark's history web UI does not consistently add trailing slashes to URLs when constructing redirection targets. This inconsistency leads to additional HTTP redirects by Jetty, which increases the load time and reduces the efficiency of the Spark UI. {*}{{*}}Problem Description:{{*}}{*} When constructing redirect URLs, particularly in scenarios where an attempt ID needs to be appended, the system does not ensure that the base URL ends with a slash. This omission results in the generated URL being redirected by Jetty to add a trailing slash, thus causing an unnecessary additional HTTP redirect. For example, when the `shouldAppendAttemptId` flag is true, the URL is formed without a trailing slash before the attempt ID is appended, leading to two redirects: one by our logic to add the attempt ID, and another by Jetty to correct the missing slash. !image-2024-04-22-15-14-13-468.png! {*}{{*}}Proposed Solution:{{*}}{*} [https://github.com/apache/spark/blob/2d0b56c3eac611e743c41d16ea8e439bc8a504e4/core/src/main/scala/org/apache/spark/deploy/history/HistoryServer.scala#L118] Ensure that all redirect URLs uniformly end with a trailing slash regardless of whether an attempt ID is appended. This can be achieved by modifying the URL construction logic as follows: ```scala val redirect = if (shouldAppendAttemptId) { req.getRequestURI.stripSuffix("/") + "/" + attemptId.get + "/" } else { req.getRequestURI.stripSuffix("/") + "/" } ``` was: *{*}Summary:{*}* The current implementation of URL redirection in Spark's history web UI does not consistently add trailing slashes to URLs when constructing redirection targets. This inconsistency leads to additional HTTP redirects by Jetty, which increases the load time and reduces the efficiency of the Spark UI. *{*}Problem Description:{*}* When constructing redirect URLs, particularly in scenarios where an attempt ID needs to be appended, the system does not ensure that the base URL ends with a slash. This omission results in the generated URL being redirected by Jetty to add a trailing slash, thus causing an unnecessary additional HTTP redirect. For example, when the `shouldAppendAttemptId` flag is true, the URL is formed without a trailing slash before the attempt ID is appended, leading to two redirects: one by our logic to add the attempt ID, and another by Jetty to correct the missing slash. !image-2024-04-22-15-06-29-357.png! *{*}Proposed Solution:{*}* [https://github.com/apache/spark/blob/2d0b56c3eac611e743c41d16ea8e439bc8a504e4/core/src/main/scala/org/apache/spark/deploy/history/HistoryServer.scala#L118] Ensure that all redirect URLs uniformly end with a trailing slash regardless of whether an attempt ID is appended. This can be achieved by modifying the URL construction logic as follows: ```scala val redirect = if (shouldAppendAttemptId) { req.getRequestURI.stripSuffix("/") + "/" + attemptId.get + "/" } else { req.getRequestURI.stripSuffix("/") + "/" } ``` > Inefficient Redirect Handling Due to Missing Trailing Slashes in URL > Redirection > > > Key: SPARK-47934 > URL: https://issues.apache.org/jira/browse/SPARK-47934 > Project: Spark > Issue Type: Improvement > Components: Spark Core >Affects Versions: 3.2.4, 3.3.2, 3.5.1, 3.4.3 >Reporter: huangzhir >Priority: Trivial > Attachments: image-2024-04-22-15-14-13-468.png > > > {*}{{*}}Summary:{{*}}{*} > The current implementation of URL redirection in Spark's history web UI does > not consistently add trailing slashes to URLs when constructing redirection > targets. This inconsistency leads to additional HTTP redirects by Jetty, > which increases the load time and reduces the efficiency of the Spark UI. > {*}{{*}}Problem Description:{{*}}{*} > When constructing redirect URLs, particularly in scenarios where an attempt > ID needs to be appended, the system does not ensure that the base URL ends > with a slash. This omission results in the generated URL being redirected by > Jetty to add a trailing slash, thus causing an unnecessary additional HTTP > redirect. > For example, when the `shouldAppendAttemptId` flag is true, the URL is formed > without a trailing slash before the attempt ID is appended, leading to two > redirects: one by our logic to add the attempt ID, and another by Jetty to > correct the missing slash. > !image-2024-04-22-15-14-13-468.png! > {*}{{*}}Proposed Solution:{{*}}{*} >