From b1978d21baeb0ab976b34b1b8027a8dc58c35a2d Mon Sep 17 00:00:00 2001 From: aman_omer Date: Sat, 21 Sep 2019 07:34:04 -0500 Subject: [PATCH 1/3] [SPARK-29053][WEBUI] Sort does not work on some columns Setting custom sort key for duration and execution time column. Sorting on duration and execution time columns consider time as a string after converting into readable form which is the reason for wrong sort results as mentioned in [SPARK-29053](https://issues.apache.org/jira/browse/SPARK-29053). No Test manually. Screenshots are attached. After patch: **Duration** ![Duration](https://user-images.githubusercontent.com/40591404/65339861-93cc9800-dbea-11e9-95e6-63b107a5a372.png) **Execution time** ![Execution Time](https://user-images.githubusercontent.com/40591404/65339870-97601f00-dbea-11e9-9d1d-690c59bc1bde.png) Closes #25855 from amanomer/SPARK29053. Authored-by: aman_omer Signed-off-by: Sean Owen --- .../spark/sql/hive/thriftserver/ui/ThriftServerPage.scala | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/ui/ThriftServerPage.scala b/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/ui/ThriftServerPage.scala index 771104ceb8842..8b3f2e3242211 100644 --- a/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/ui/ThriftServerPage.scala +++ b/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/ui/ThriftServerPage.scala @@ -90,7 +90,8 @@ private[ui] class ThriftServerPage(parent: ThriftServerTab) extends WebUIPage("" {info.groupId} {formatDate(info.startTimestamp)} {if (info.finishTimestamp > 0) formatDate(info.finishTimestamp)} - {formatDurationOption(Some(info.totalTime))} + + {formatDurationOption(Some(info.totalTime))} {info.statement} {info.state} {errorMessageCell(detail)} @@ -155,7 +156,8 @@ private[ui] class ThriftServerPage(parent: ThriftServerTab) extends WebUIPage("" {session.sessionId} {formatDate(session.startTimestamp)} {if (session.finishTimestamp > 0) formatDate(session.finishTimestamp)} - {formatDurationOption(Some(session.totalTime))} + + {formatDurationOption(Some(session.totalTime))} {session.totalExecution.toString} } From f788acfb4284b12643bf7aa0c84108090de869fc Mon Sep 17 00:00:00 2001 From: aman_omer Date: Sun, 22 Sep 2019 18:53:44 +0530 Subject: [PATCH 2/3] Sorting fix in ThriftServerSessionPage.scala --- .../sql/hive/thriftserver/ui/ThriftServerSessionPage.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/ui/ThriftServerSessionPage.scala b/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/ui/ThriftServerSessionPage.scala index 163eb43aabc72..0bcb2ab03f280 100644 --- a/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/ui/ThriftServerSessionPage.scala +++ b/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/ui/ThriftServerSessionPage.scala @@ -100,7 +100,8 @@ private[ui] class ThriftServerSessionPage(parent: ThriftServerTab) {info.groupId} {formatDate(info.startTimestamp)} {formatDate(info.finishTimestamp)} - {formatDurationOption(Some(info.totalTime))} + + {formatDurationOption(Some(info.totalTime))} {info.statement} {info.state} {errorMessageCell(detail)} From 52edb8dac66a9a8fc5a7c3fce2f96a6709f32d3e Mon Sep 17 00:00:00 2001 From: aman_omer Date: Sun, 22 Sep 2019 23:44:30 +0530 Subject: [PATCH 3/3] Revert "Sorting fix in ThriftServerSessionPage.scala" This reverts commit f788acfb4284b12643bf7aa0c84108090de869fc. --- .../sql/hive/thriftserver/ui/ThriftServerSessionPage.scala | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/ui/ThriftServerSessionPage.scala b/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/ui/ThriftServerSessionPage.scala index 0bcb2ab03f280..163eb43aabc72 100644 --- a/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/ui/ThriftServerSessionPage.scala +++ b/sql/hive-thriftserver/src/main/scala/org/apache/spark/sql/hive/thriftserver/ui/ThriftServerSessionPage.scala @@ -100,8 +100,7 @@ private[ui] class ThriftServerSessionPage(parent: ThriftServerTab) {info.groupId} {formatDate(info.startTimestamp)} {formatDate(info.finishTimestamp)} - - {formatDurationOption(Some(info.totalTime))} + {formatDurationOption(Some(info.totalTime))} {info.statement} {info.state} {errorMessageCell(detail)}