From b0aeb2623002a4c08d2c8570b707c9806cc98219 Mon Sep 17 00:00:00 2001 From: ulysses-you Date: Sun, 11 Apr 2021 09:37:42 +0800 Subject: [PATCH] [KYUUBI #500] Speed up spark sql engine diagnostics ![ulysses-you](https://badgen.net/badge/Hello/ulysses-you/green) [![Closes #500](https://badgen.net/badge/Preview/Closes%20%23500/blue)](https://github.com/yaooqinn/kyuubi/pull/500) ![4](https://badgen.net/badge/%2B/4/red) ![3](https://badgen.net/badge/-/3/green) ![1](https://badgen.net/badge/commits/1/yellow) ![Target Issue](https://badgen.net/badge/Missing/Target%20Issue/ff0000) ![Test Plan](https://badgen.net/badge/Missing/Test%20Plan/ff0000) [Powered by Pull Request Badge](https://pullrequestbadge.com/?utm_medium=github&utm_source=yaooqinn&utm_campaign=badge_info) ### _Why are the changes needed?_ Mark it as `lazy val` to avoid rebuld the string text every time. ### _How was this patch tested?_ Pass exists CI Closes #500 from ulysses-you/speed-up-diagnostics. Closes #500 d4a61f1 [ulysses-you] init Authored-by: ulysses-you Signed-off-by: fwang12 --- .../scala/org/apache/kyuubi/engine/spark/KyuubiSparkUtil.scala | 3 ++- .../scala/org/apache/kyuubi/engine/spark/SparkSQLEngine.scala | 2 +- .../kyuubi/engine/spark/operation/ExecuteStatement.scala | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/KyuubiSparkUtil.scala b/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/KyuubiSparkUtil.scala index a7a7621b7..274cbc6cc 100644 --- a/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/KyuubiSparkUtil.scala +++ b/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/KyuubiSparkUtil.scala @@ -23,7 +23,8 @@ import org.apache.spark.sql.SparkSession object KyuubiSparkUtil { - def diagnostics(spark: SparkSession): String = { + lazy val diagnostics: String = { + val spark = SparkSession.active val sc = spark.sparkContext val webUrl = sc.getConf.getOption( "spark.org.apache.hadoop.yarn.server.webproxy.amfilter.AmIpFilter.param.PROXY_URI_BASES") diff --git a/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/SparkSQLEngine.scala b/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/SparkSQLEngine.scala index 51bf633c5..cf313ef2f 100644 --- a/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/SparkSQLEngine.scala +++ b/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/SparkSQLEngine.scala @@ -116,7 +116,7 @@ object SparkSQLEngine extends Logging { try { spark = createSpark() engine = startEngine(spark) - info(KyuubiSparkUtil.diagnostics(spark)) + info(KyuubiSparkUtil.diagnostics) // blocking main thread countDownLatch.await() } catch { diff --git a/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/operation/ExecuteStatement.scala b/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/operation/ExecuteStatement.scala index 11142d41b..c16ce9e9e 100644 --- a/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/operation/ExecuteStatement.scala +++ b/externals/kyuubi-spark-sql-engine/src/main/scala/org/apache/kyuubi/engine/spark/operation/ExecuteStatement.scala @@ -67,7 +67,7 @@ class ExecuteStatement( private def executeStatement(): Unit = { try { setState(OperationState.RUNNING) - info(KyuubiSparkUtil.diagnostics(spark)) + info(KyuubiSparkUtil.diagnostics) Thread.currentThread().setContextClassLoader(spark.sharedState.jarClassLoader) spark.sparkContext.setJobGroup(statementId, statement, forceCancel) result = spark.sql(statement)