This is an automated email from the ASF dual-hosted git repository.
feiwang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kyuubi.git
The following commit(s) were added to refs/heads/master by this push:
new 42570cfd5 [KYUUBI #6379] Return engine name and engine url within
KyuubiSessionEvent/SessionData
42570cfd5 is described below
commit 42570cfd5b5ddfc4dfb6855d65baadeaf07baeb6
Author: Wang, Fei <[email protected]>
AuthorDate: Thu May 9 14:10:31 2024 -0700
[KYUUBI #6379] Return engine name and engine url within
KyuubiSessionEvent/SessionData
# :mag: Description
## Issue References ๐
In this pr, engineName and engineUrl will return within
KyuubiSessionEvent/SessionData, these information are helpful to get the
session info straight forward.
## Types of changes :bookmark:
- [ ] Bugfix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
## Test Plan ๐งช
#### Behavior Without This Pull Request :coffin:
#### Behavior With This Pull Request :tada:
#### Related Unit Tests
---
# Checklist ๐
- [x] This patch was not authored or co-authored using [Generative
Tooling](https://www.apache.org/legal/generative-tooling.html)
**Be nice. Be informative.**
Closes #6379 from turboFei/app_name_session_event.
Closes #6379
f9c4b0dfe [Wang, Fei] refine
15b4cfc9d [Wang, Fei] engine info
4662878e6 [Wang, Fei] id name url
9e1d72b9c [Wang, Fei] id name url
Authored-by: Wang, Fei <[email protected]>
Signed-off-by: Wang, Fei <[email protected]>
---
.../client/api/v1/dto/KyuubiSessionEvent.java | 40 ++++++++++++++++++++++
.../kyuubi/client/api/v1/dto/SessionData.java | 22 ++++++++++++
.../apache/kyuubi/events/KyuubiSessionEvent.scala | 2 ++
.../kyuubi/operation/BatchJobSubmission.scala | 12 +++++--
.../org/apache/kyuubi/server/api/ApiUtils.scala | 4 +++
.../apache/kyuubi/session/KyuubiSessionImpl.scala | 2 ++
6 files changed, 80 insertions(+), 2 deletions(-)
diff --git
a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/KyuubiSessionEvent.java
b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/KyuubiSessionEvent.java
index 34d306fed..4ec189452 100644
---
a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/KyuubiSessionEvent.java
+++
b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/KyuubiSessionEvent.java
@@ -33,6 +33,10 @@ public class KyuubiSessionEvent {
private String engineId;
+ private String engineName;
+
+ private String engineUrl;
+
private String user;
private String clientIp;
@@ -62,6 +66,8 @@ public class KyuubiSessionEvent {
String sessionName,
String remoteSessionId,
String engineId,
+ String engineName,
+ String engineUrl,
String user,
String clientIp,
String serverIp,
@@ -78,6 +84,8 @@ public class KyuubiSessionEvent {
this.sessionName = sessionName;
this.remoteSessionId = remoteSessionId;
this.engineId = engineId;
+ this.engineName = engineName;
+ this.engineUrl = engineUrl;
this.user = user;
this.clientIp = clientIp;
this.serverIp = serverIp;
@@ -107,6 +115,10 @@ public class KyuubiSessionEvent {
private String engineId;
+ private String engineName;
+
+ private String engineUrl;
+
private String user;
private String clientIp;
@@ -160,6 +172,16 @@ public class KyuubiSessionEvent {
return this;
}
+ public KyuubiSessionEvent.KyuubiSessionEventBuilder engineName(final
String engineName) {
+ this.engineName = engineName;
+ return this;
+ }
+
+ public KyuubiSessionEvent.KyuubiSessionEventBuilder engineUrl(final String
engineUrl) {
+ this.engineUrl = engineUrl;
+ return this;
+ }
+
public KyuubiSessionEvent.KyuubiSessionEventBuilder user(final String
user) {
this.user = user;
return this;
@@ -218,6 +240,8 @@ public class KyuubiSessionEvent {
sessionName,
remoteSessionId,
engineId,
+ engineName,
+ engineUrl,
user,
clientIp,
serverIp,
@@ -279,6 +303,22 @@ public class KyuubiSessionEvent {
this.engineId = engineId;
}
+ public String getEngineName() {
+ return engineName;
+ }
+
+ public void setEngineName(String engineName) {
+ this.engineName = engineName;
+ }
+
+ public String getEngineUrl() {
+ return engineUrl;
+ }
+
+ public void setEngineUrl(String engineUrl) {
+ this.engineUrl = engineUrl;
+ }
+
public String getUser() {
return user;
}
diff --git
a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/SessionData.java
b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/SessionData.java
index a1bc90a56..7906adef5 100644
---
a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/SessionData.java
+++
b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/SessionData.java
@@ -36,6 +36,8 @@ public class SessionData {
private String sessionType;
private String kyuubiInstance;
private String engineId;
+ private String engineName;
+ private String engineUrl;
private String sessionName;
private Integer totalOperations;
@@ -54,6 +56,8 @@ public class SessionData {
String sessionType,
String kyuubiInstance,
String engineId,
+ String engineName,
+ String engineUrl,
String sessionName,
Integer totalOperations) {
this.identifier = identifier;
@@ -68,6 +72,8 @@ public class SessionData {
this.sessionType = sessionType;
this.kyuubiInstance = kyuubiInstance;
this.engineId = engineId;
+ this.engineName = engineName;
+ this.engineUrl = engineUrl;
this.sessionName = sessionName;
this.totalOperations = totalOperations;
}
@@ -171,6 +177,22 @@ public class SessionData {
this.engineId = engineId;
}
+ public String getEngineName() {
+ return engineName;
+ }
+
+ public void setEngineName(String engineName) {
+ this.engineName = engineName;
+ }
+
+ public String getEngineUrl() {
+ return engineUrl;
+ }
+
+ public void setEngineUrl(String engineUrl) {
+ this.engineUrl = engineUrl;
+ }
+
public String getSessionName() {
return sessionName;
}
diff --git
a/kyuubi-server/src/main/scala/org/apache/kyuubi/events/KyuubiSessionEvent.scala
b/kyuubi-server/src/main/scala/org/apache/kyuubi/events/KyuubiSessionEvent.scala
index 821017b29..e2841d752 100644
---
a/kyuubi-server/src/main/scala/org/apache/kyuubi/events/KyuubiSessionEvent.scala
+++
b/kyuubi-server/src/main/scala/org/apache/kyuubi/events/KyuubiSessionEvent.scala
@@ -52,6 +52,8 @@ case class KyuubiSessionEvent(
startTime: Long,
var remoteSessionId: String = "",
var engineId: String = "",
+ var engineName: String = "",
+ var engineUrl: String = "",
var openedTime: Long = -1L,
var endTime: Long = -1L,
var totalOperations: Int = 0,
diff --git
a/kyuubi-server/src/main/scala/org/apache/kyuubi/operation/BatchJobSubmission.scala
b/kyuubi-server/src/main/scala/org/apache/kyuubi/operation/BatchJobSubmission.scala
index c29065f19..2c90058db 100644
---
a/kyuubi-server/src/main/scala/org/apache/kyuubi/operation/BatchJobSubmission.scala
+++
b/kyuubi-server/src/main/scala/org/apache/kyuubi/operation/BatchJobSubmission.scala
@@ -165,8 +165,16 @@ class BatchJobSubmission(
private def setStateIfNotCanceled(newState: OperationState): Unit =
withLockRequired {
if (state != CANCELED) {
setState(newState)
- applicationId(_applicationInfo).foreach { appId =>
- session.getSessionEvent.foreach(_.engineId = appId)
+ _applicationInfo.foreach { app =>
+ Option(app.id).filter(_.nonEmpty).foreach { appId =>
+ session.getSessionEvent.foreach(_.engineId = appId)
+ }
+ Option(app.name).filter(_.nonEmpty).foreach { appName =>
+ session.getSessionEvent.foreach(_.engineName = appName)
+ }
+ app.url.filter(_.nonEmpty).foreach { appUrl =>
+ session.getSessionEvent.foreach(_.engineUrl = appUrl)
+ }
}
if (newState == RUNNING) {
session.onEngineOpened()
diff --git
a/kyuubi-server/src/main/scala/org/apache/kyuubi/server/api/ApiUtils.scala
b/kyuubi-server/src/main/scala/org/apache/kyuubi/server/api/ApiUtils.scala
index ccd3ebe93..d7d1727c5 100644
--- a/kyuubi-server/src/main/scala/org/apache/kyuubi/server/api/ApiUtils.scala
+++ b/kyuubi-server/src/main/scala/org/apache/kyuubi/server/api/ApiUtils.scala
@@ -41,6 +41,8 @@ object ApiUtils extends Logging {
.conf(event.conf.asJava)
.remoteSessionId(event.remoteSessionId)
.engineId(event.engineId)
+ .engineName(event.engineName)
+ .engineUrl(event.engineUrl)
.eventTime(event.eventTime)
.openedTime(event.openedTime)
.startTime(event.startTime)
@@ -65,6 +67,8 @@ object ApiUtils extends Logging {
session.sessionType.toString,
session.connectionUrl,
sessionEvent.map(_.engineId).getOrElse(""),
+ sessionEvent.map(_.engineName).getOrElse(""),
+ sessionEvent.map(_.engineUrl).getOrElse(""),
session.name.getOrElse(""),
sessionEvent.map(_.totalOperations).getOrElse(0): Int)
}
diff --git
a/kyuubi-server/src/main/scala/org/apache/kyuubi/session/KyuubiSessionImpl.scala
b/kyuubi-server/src/main/scala/org/apache/kyuubi/session/KyuubiSessionImpl.scala
index c0634455f..3351da5c5 100644
---
a/kyuubi-server/src/main/scala/org/apache/kyuubi/session/KyuubiSessionImpl.scala
+++
b/kyuubi-server/src/main/scala/org/apache/kyuubi/session/KyuubiSessionImpl.scala
@@ -222,6 +222,8 @@ class KyuubiSessionImpl(
sessionEvent.openedTime = System.currentTimeMillis()
sessionEvent.remoteSessionId = _engineSessionHandle.identifier.toString
_client.engineId.foreach(e => sessionEvent.engineId = e)
+ _client.engineName.foreach(e => sessionEvent.engineName = e)
+ _client.engineUrl.foreach(e => sessionEvent.engineUrl = e)
EventBus.post(sessionEvent)
}
}