From 2f99376d8d50258932479106ab466a9d20318df1 Mon Sep 17 00:00:00 2001 From: Fu Chen Date: Fri, 11 Feb 2022 16:04:05 +0800 Subject: [PATCH] [KYUUBI #1896] Make `Query Details` and `Failure Reason` sortable on the Kyuubi Query Engine page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …y Engine page. ### _Why are the changes needed?_ Before this PR, when we sorted the `SQL statistics` using the `Query Details` column, an exception would be thrown. ![截屏2022-02-11 下午2 51 40](https://user-images.githubusercontent.com/8537877/153548694-ee6875fa-5ea1-447c-a27d-86c3a2cdf9fd.png) ### _How was this patch tested?_ - [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible - [ ] Add screenshots for manual tests if appropriate - [x] [Run test](https://kyuubi.apache.org/docs/latest/develop_tools/testing.html#running-tests) locally before make a pull request Closes #1895 from cfmcgrady/ui. Closes #1896 1a7fae20 [Fu Chen] make `Query Details` and `Failure Reason` sortable on the Kyuubi Query Engine page. Authored-by: Fu Chen Signed-off-by: ulysses-you --- .../src/main/scala/org/apache/spark/ui/EnginePage.scala | 2 ++ 1 file changed, 2 insertions(+) diff --git a/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/spark/ui/EnginePage.scala b/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/spark/ui/EnginePage.scala index d7b578c86..7ff3453cd 100644 --- a/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/spark/ui/EnginePage.scala +++ b/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/spark/ui/EnginePage.scala @@ -467,6 +467,8 @@ private class StatementStatsTableDataSource( case "Duration" => Ordering.by(_.duration) case "Statement" => Ordering.by(_.statement) case "State" => Ordering.by(_.state) + case "Query Details" => Ordering.by(_.executionId) + case "Failure Reason" => Ordering.by(_.exception.toString) case unknownColumn => throw new IllegalArgumentException(s"Unknown column: $unknownColumn") } if (desc) {