You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@kyuubi.apache.org by GitBox <gi...@apache.org> on 2022/06/12 08:31:31 UTC

[GitHub] [incubator-kyuubi] wForget commented on issue #2854: [Improvement] Add exception field in KyuubiSessionEvent

wForget commented on issue #2854:
URL: https://github.com/apache/incubator-kyuubi/issues/2854#issuecomment-1153102190

   The `exception` is less readable and I want to reformat it like [org.apache.spark.util.JsonProtocol#exceptionToJson](https://github.com/apache/spark/blob/a6c724ed816bd83cc6b3f5178b462e63b8e85972/core/src/main/scala/org/apache/spark/util/JsonProtocol.scala#L609).
   ```
   "exception": {
   		"cause": {
   			"cause": null,
   			"stackTrace": [
   				{
   					"classLoaderName": "app",
   					"moduleName": null,
   					"moduleVersion": null,
   					"methodName": "apply",
   					"fileName": "KyuubiSQLException.scala",
   					"lineNumber": 69,
   					"className": "org.apache.kyuubi.KyuubiSQLException$",
   					"nativeMethod": false
   				},
   				{
   					"classLoaderName": "app",
   					"moduleName": null,
   					"moduleVersion": null,
   					"methodName": "getError",
   					"fileName": "ProcBuilder.scala",
   					"lineNumber": 261,
   					"className": "org.apache.kyuubi.engine.ProcBuilder",
   					"nativeMethod": false
   				},
   				{
   					"classLoaderName": "app",
   					"moduleName": null,
   					"moduleVersion": null,
   					"methodName": "getError$",
   					"fileName": "ProcBuilder.scala",
   					"lineNumber": 254,
   					"className": "org.apache.kyuubi.engine.ProcBuilder",
   					"nativeMethod": false
   				},
   				{
   					"classLoaderName": "app",
   					"moduleName": null,
   					"moduleVersion": null,
   					"methodName": "getError",
   					"fileName": "SparkProcessBuilder.scala",
   					"lineNumber": 35,
   					"className": "org.apache.kyuubi.engine.spark.SparkProcessBuilder",
   					"nativeMethod": false
   				},
   				{
   					"classLoaderName": "app",
   					"moduleName": null,
   					"moduleVersion": null,
   					"methodName": "$anonfun$create$1",
   					"fileName": "EngineRef.scala",
   					"lineNumber": 196,
   					"className": "org.apache.kyuubi.engine.EngineRef",
   					"nativeMethod": false
   				},
   				{
   					"classLoaderName": "app",
   					"moduleName": null,
   					"moduleVersion": null,
   					"methodName": "tryWithLock",
   					"fileName": "ZookeeperDiscoveryClient.scala",
   					"lineNumber": 173,
   					"className": "org.apache.kyuubi.ha.client.zookeeper.ZookeeperDiscoveryClient",
   					"nativeMethod": false
   				},
   				{
   					"classLoaderName": "app",
   					"moduleName": null,
   					"moduleVersion": null,
   					"methodName": "tryWithLock",
   					"fileName": "EngineRef.scala",
   					"lineNumber": 159,
   					"className": "org.apache.kyuubi.engine.EngineRef",
   					"nativeMethod": false
   				},
   				{
   					"classLoaderName": "app",
   					"moduleName": null,
   					"moduleVersion": null,
   					"methodName": "create",
   					"fileName": "EngineRef.scala",
   					"lineNumber": 164,
   					"className": "org.apache.kyuubi.engine.EngineRef",
   					"nativeMethod": false
   				},
   				{
   					"classLoaderName": "app",
   					"moduleName": null,
   					"moduleVersion": null,
   					"methodName": "$anonfun$getOrCreate$1",
   					"fileName": "EngineRef.scala",
   					"lineNumber": 233,
   					"className": "org.apache.kyuubi.engine.EngineRef",
   					"nativeMethod": false
   				},
   				{
   					"classLoaderName": "app",
   					"moduleName": null,
   					"moduleVersion": null,
   					"methodName": "getOrElse",
   					"fileName": "Option.scala",
   					"lineNumber": 189,
   					"className": "scala.Option",
   					"nativeMethod": false
   				},
   				{
   					"classLoaderName": "app",
   					"moduleName": null,
   					"moduleVersion": null,
   					"methodName": "getOrCreate",
   					"fileName": "EngineRef.scala",
   					"lineNumber": 233,
   					"className": "org.apache.kyuubi.engine.EngineRef",
   					"nativeMethod": false
   				},
   				{
   					"classLoaderName": "app",
   					"moduleName": null,
   					"moduleVersion": null,
   					"methodName": "$anonfun$openEngineSession$1",
   					"fileName": "KyuubiSessionImpl.scala",
   					"lineNumber": 111,
   					"className": "org.apache.kyuubi.session.KyuubiSessionImpl",
   					"nativeMethod": false
   				},
   				{
   					"classLoaderName": "app",
   					"moduleName": null,
   					"moduleVersion": null,
   					"methodName": "$anonfun$openEngineSession$1$adapted",
   					"fileName": "KyuubiSessionImpl.scala",
   					"lineNumber": 110,
   					"className": "org.apache.kyuubi.session.KyuubiSessionImpl",
   					"nativeMethod": false
   				},
   				{
   					"classLoaderName": "app",
   					"moduleName": null,
   					"moduleVersion": null,
   					"methodName": "withDiscoveryClient",
   					"fileName": "DiscoveryClientProvider.scala",
   					"lineNumber": 36,
   					"className": "org.apache.kyuubi.ha.client.DiscoveryClientProvider$",
   					"nativeMethod": false
   				},
   				{
   					"classLoaderName": "app",
   					"moduleName": null,
   					"moduleVersion": null,
   					"methodName": "openEngineSession",
   					"fileName": "KyuubiSessionImpl.scala",
   					"lineNumber": 110,
   					"className": "org.apache.kyuubi.session.KyuubiSessionImpl",
   					"nativeMethod": false
   				},
   				{
   					"classLoaderName": "app",
   					"moduleName": null,
   					"moduleVersion": null,
   					"methodName": "$anonfun$runInternal$2",
   					"fileName": "LaunchEngine.scala",
   					"lineNumber": 51,
   					"className": "org.apache.kyuubi.operation.LaunchEngine",
   					"nativeMethod": false
   				},
   				{
   					"classLoaderName": null,
   					"moduleName": "java.base",
   					"moduleVersion": "11.0.12",
   					"methodName": "call",
   					"fileName": "Executors.java",
   					"lineNumber": 515,
   					"className": "java.util.concurrent.Executors$RunnableAdapter",
   					"nativeMethod": false
   				},
   				{
   					"classLoaderName": null,
   					"moduleName": "java.base",
   					"moduleVersion": "11.0.12",
   					"methodName": "run",
   					"fileName": "FutureTask.java",
   					"lineNumber": 264,
   					"className": "java.util.concurrent.FutureTask",
   					"nativeMethod": false
   				},
   				{
   					"classLoaderName": null,
   					"moduleName": "java.base",
   					"moduleVersion": "11.0.12",
   					"methodName": "runWorker",
   					"fileName": "ThreadPoolExecutor.java",
   					"lineNumber": 1128,
   					"className": "java.util.concurrent.ThreadPoolExecutor",
   					"nativeMethod": false
   				},
   				{
   					"classLoaderName": null,
   					"moduleName": "java.base",
   					"moduleVersion": "11.0.12",
   					"methodName": "run",
   					"fileName": "ThreadPoolExecutor.java",
   					"lineNumber": 628,
   					"className": "java.util.concurrent.ThreadPoolExecutor$Worker",
   					"nativeMethod": false
   				},
   				{
   					"classLoaderName": null,
   					"moduleName": "java.base",
   					"moduleVersion": "11.0.12",
   					"methodName": "run",
   					"fileName": "Thread.java",
   					"lineNumber": 834,
   					"className": "java.lang.Thread",
   					"nativeMethod": false
   				}
   			],
   			"nextException": null,
   			"sqlstate": null,
   			"errorCode": 0,
   			"message": "Failed to detect the root cause, please check C:\\Users\\test\\AppData\\Local\\Temp\\test-71c7ad9f-03da-451f-92b3-92bb2effa909\\kyuubi-spark-sql-engine.log.0 at server side if necessary. The last 10 line(s) of log are:\nInvalid maximum heap size: -Xmxabc\nError: Could not create the Java Virtual Machine.\nError: A fatal exception has occurred. Program will exit.",
   			"suppressed": [],
   			"localizedMessage": "Failed to detect the root cause, please check C:\\Users\\test\\AppData\\Local\\Temp\\test-71c7ad9f-03da-451f-92b3-92bb2effa909\\kyuubi-spark-sql-engine.log.0 at server side if necessary. The last 10 line(s) of log are:\nInvalid maximum heap size: -Xmxabc\nError: Could not create the Java Virtual Machine.\nError: A fatal exception has occurred. Program will exit."
   		},
   		"stackTrace": [
   			{
   				"classLoaderName": null,
   				"moduleName": "java.base",
   				"moduleVersion": "11.0.12",
   				"methodName": "report",
   				"fileName": "FutureTask.java",
   				"lineNumber": 122,
   				"className": "java.util.concurrent.FutureTask",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": null,
   				"moduleName": "java.base",
   				"moduleVersion": "11.0.12",
   				"methodName": "get",
   				"fileName": "FutureTask.java",
   				"lineNumber": 191,
   				"className": "java.util.concurrent.FutureTask",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "$anonfun$runInternal$1",
   				"fileName": "LaunchEngine.scala",
   				"lineNumber": 61,
   				"className": "org.apache.kyuubi.operation.LaunchEngine",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "handleSessionException",
   				"fileName": "KyuubiSessionImpl.scala",
   				"lineNumber": 101,
   				"className": "org.apache.kyuubi.session.KyuubiSessionImpl",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "runInternal",
   				"fileName": "LaunchEngine.scala",
   				"lineNumber": 47,
   				"className": "org.apache.kyuubi.operation.LaunchEngine",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "run",
   				"fileName": "AbstractOperation.scala",
   				"lineNumber": 163,
   				"className": "org.apache.kyuubi.operation.AbstractOperation",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "runOperation",
   				"fileName": "AbstractSession.scala",
   				"lineNumber": 97,
   				"className": "org.apache.kyuubi.session.AbstractSession",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "runOperation",
   				"fileName": "KyuubiSessionImpl.scala",
   				"lineNumber": 143,
   				"className": "org.apache.kyuubi.session.KyuubiSessionImpl",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "open",
   				"fileName": "KyuubiSessionImpl.scala",
   				"lineNumber": 96,
   				"className": "org.apache.kyuubi.session.KyuubiSessionImpl",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "openSession",
   				"fileName": "SessionManager.scala",
   				"lineNumber": 101,
   				"className": "org.apache.kyuubi.session.SessionManager",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "openSession",
   				"fileName": "KyuubiSessionManager.scala",
   				"lineNumber": 89,
   				"className": "org.apache.kyuubi.session.KyuubiSessionManager",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "openSession",
   				"fileName": "AbstractBackendService.scala",
   				"lineNumber": 45,
   				"className": "org.apache.kyuubi.service.AbstractBackendService",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "org$apache$kyuubi$server$BackendServiceMetric$$super$openSession",
   				"fileName": "KyuubiServer.scala",
   				"lineNumber": 115,
   				"className": "org.apache.kyuubi.server.KyuubiServer$$anon$1",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "$anonfun$openSession$1",
   				"fileName": "BackendServiceMetric.scala",
   				"lineNumber": 37,
   				"className": "org.apache.kyuubi.server.BackendServiceMetric",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "timerTracing",
   				"fileName": "MetricsSystem.scala",
   				"lineNumber": 111,
   				"className": "org.apache.kyuubi.metrics.MetricsSystem$",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "openSession",
   				"fileName": "BackendServiceMetric.scala",
   				"lineNumber": 37,
   				"className": "org.apache.kyuubi.server.BackendServiceMetric",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "openSession$",
   				"fileName": "BackendServiceMetric.scala",
   				"lineNumber": 30,
   				"className": "org.apache.kyuubi.server.BackendServiceMetric",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "openSession",
   				"fileName": "KyuubiServer.scala",
   				"lineNumber": 115,
   				"className": "org.apache.kyuubi.server.KyuubiServer$$anon$1",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "getSessionHandle",
   				"fileName": "TFrontendService.scala",
   				"lineNumber": 164,
   				"className": "org.apache.kyuubi.service.TFrontendService",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "OpenSession",
   				"fileName": "KyuubiTBinaryFrontendService.scala",
   				"lineNumber": 52,
   				"className": "org.apache.kyuubi.server.KyuubiTBinaryFrontendService",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "getResult",
   				"fileName": "TCLIService.java",
   				"lineNumber": 1497,
   				"className": "org.apache.hive.service.rpc.thrift.TCLIService$Processor$OpenSession",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "getResult",
   				"fileName": "TCLIService.java",
   				"lineNumber": 1482,
   				"className": "org.apache.hive.service.rpc.thrift.TCLIService$Processor$OpenSession",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "process",
   				"fileName": "ProcessFunction.java",
   				"lineNumber": 39,
   				"className": "org.apache.thrift.ProcessFunction",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "process",
   				"fileName": "TBaseProcessor.java",
   				"lineNumber": 39,
   				"className": "org.apache.thrift.TBaseProcessor",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "process",
   				"fileName": "TSetIpAddressProcessor.scala",
   				"lineNumber": 36,
   				"className": "org.apache.kyuubi.service.authentication.TSetIpAddressProcessor",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": "app",
   				"moduleName": null,
   				"moduleVersion": null,
   				"methodName": "run",
   				"fileName": "TThreadPoolServer.java",
   				"lineNumber": 286,
   				"className": "org.apache.thrift.server.TThreadPoolServer$WorkerProcess",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": null,
   				"moduleName": "java.base",
   				"moduleVersion": "11.0.12",
   				"methodName": "runWorker",
   				"fileName": "ThreadPoolExecutor.java",
   				"lineNumber": 1128,
   				"className": "java.util.concurrent.ThreadPoolExecutor",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": null,
   				"moduleName": "java.base",
   				"moduleVersion": "11.0.12",
   				"methodName": "run",
   				"fileName": "ThreadPoolExecutor.java",
   				"lineNumber": 628,
   				"className": "java.util.concurrent.ThreadPoolExecutor$Worker",
   				"nativeMethod": false
   			},
   			{
   				"classLoaderName": null,
   				"moduleName": "java.base",
   				"moduleVersion": "11.0.12",
   				"methodName": "run",
   				"fileName": "Thread.java",
   				"lineNumber": 834,
   				"className": "java.lang.Thread",
   				"nativeMethod": false
   			}
   		],
   		"message": "org.apache.kyuubi.KyuubiSQLException: Failed to detect the root cause, please check C:\\Users\\test\\AppData\\Local\\Temp\\test-71c7ad9f-03da-451f-92b3-92bb2effa909\\kyuubi-spark-sql-engine.log.0 at server side if necessary. The last 10 line(s) of log are:\nInvalid maximum heap size: -Xmxabc\nError: Could not create the Java Virtual Machine.\nError: A fatal exception has occurred. Program will exit.",
   		"suppressed": [],
   		"localizedMessage": "org.apache.kyuubi.KyuubiSQLException: Failed to detect the root cause, please check C:\\Users\\test\\AppData\\Local\\Temp\\test-71c7ad9f-03da-451f-92b3-92bb2effa909\\kyuubi-spark-sql-engine.log.0 at server side if necessary. The last 10 line(s) of log are:\nInvalid maximum heap size: -Xmxabc\nError: Could not create the Java Virtual Machine.\nError: A fatal exception has occurred. Program will exit."
   	},
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@kyuubi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@kyuubi.apache.org
For additional commands, e-mail: notifications-help@kyuubi.apache.org