You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kyuubi.apache.org by fe...@apache.org on 2023/03/15 03:13:16 UTC

[kyuubi] branch master updated: [KYUUBI #4516] Return kyuubi instance in SessionData and OperationData

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 e53da1241 [KYUUBI #4516] Return kyuubi instance in SessionData and OperationData
e53da1241 is described below

commit e53da12419ec34dd134e80f2c96c9619e48cda7e
Author: fwang12 <fw...@ebay.com>
AuthorDate: Wed Mar 15 11:13:07 2023 +0800

    [KYUUBI #4516] Return kyuubi instance in SessionData and OperationData
    
    ### _Why are the changes needed?_
    
    It is helpful, because now kyuubi gateway does not support multiple nodes ha.
    
    ### _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.readthedocs.io/en/master/develop_tools/testing.html#running-tests) locally before make a pull request
    
    Closes #4516 from turboFei/kyuubi_instance.
    
    Closes #4516
    
    a679dc524 [fwang12] return kyuubi instance
    
    Authored-by: fwang12 <fw...@ebay.com>
    Signed-off-by: fwang12 <fw...@ebay.com>
---
 .../org/apache/kyuubi/client/api/v1/dto/OperationData.java  | 13 ++++++++++++-
 .../org/apache/kyuubi/client/api/v1/dto/SessionData.java    | 13 ++++++++++++-
 .../main/scala/org/apache/kyuubi/server/api/ApiUtils.scala  |  6 ++++--
 3 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/OperationData.java b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/OperationData.java
index bc7af4ac9..1b99bb2c6 100644
--- a/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/OperationData.java
+++ b/kyuubi-rest-client/src/main/java/org/apache/kyuubi/client/api/v1/dto/OperationData.java
@@ -32,6 +32,7 @@ public class OperationData {
   private String sessionId;
   private String sessionUser;
   private String sessionType;
+  private String kyuubiInstance;
 
   public OperationData() {}
 
@@ -45,7 +46,8 @@ public class OperationData {
       String exception,
       String sessionId,
       String sessionUser,
-      String sessionType) {
+      String sessionType,
+      String kyuubiInstance) {
     this.identifier = identifier;
     this.statement = statement;
     this.state = state;
@@ -56,6 +58,7 @@ public class OperationData {
     this.sessionId = sessionId;
     this.sessionUser = sessionUser;
     this.sessionType = sessionType;
+    this.kyuubiInstance = kyuubiInstance;
   }
 
   public String getIdentifier() {
@@ -138,6 +141,14 @@ public class OperationData {
     this.sessionType = sessionType;
   }
 
+  public String getKyuubiInstance() {
+    return kyuubiInstance;
+  }
+
+  public void setKyuubiInstance(String kyuubiInstance) {
+    this.kyuubiInstance = kyuubiInstance;
+  }
+
   @Override
   public boolean equals(Object o) {
     if (this == o) return true;
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 97da4d942..ce5eaae50 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
@@ -33,6 +33,7 @@ public class SessionData {
   private Long idleTime;
   private String exception;
   private String sessionType;
+  private String kyuubiInstance;
 
   public SessionData() {}
 
@@ -45,7 +46,8 @@ public class SessionData {
       Long duration,
       Long idleTime,
       String exception,
-      String sessionType) {
+      String sessionType,
+      String kyuubiInstance) {
     this.identifier = identifier;
     this.user = user;
     this.ipAddr = ipAddr;
@@ -55,6 +57,7 @@ public class SessionData {
     this.idleTime = idleTime;
     this.exception = exception;
     this.sessionType = sessionType;
+    this.kyuubiInstance = kyuubiInstance;
   }
 
   public String getIdentifier() {
@@ -132,6 +135,14 @@ public class SessionData {
     this.sessionType = sessionType;
   }
 
+  public String getKyuubiInstance() {
+    return kyuubiInstance;
+  }
+
+  public void setKyuubiInstance(String kyuubiInstance) {
+    this.kyuubiInstance = kyuubiInstance;
+  }
+
   @Override
   public boolean equals(Object o) {
     if (this == o) return true;
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 7a0582613..3e7e36eac 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
@@ -37,7 +37,8 @@ object ApiUtils {
       session.lastAccessTime - session.createTime,
       session.getNoOperationTime,
       session.getSessionEvent.flatMap(_.exception).map(Utils.prettyPrint).getOrElse(""),
-      session.sessionType.toString)
+      session.sessionType.toString,
+      session.connectionUrl)
   }
 
   def operationData(operation: KyuubiOperation): OperationData = {
@@ -52,6 +53,7 @@ object ApiUtils {
       opEvent.exception.map(Utils.prettyPrint).getOrElse(""),
       opEvent.sessionId,
       opEvent.sessionUser,
-      opEvent.sessionType)
+      opEvent.sessionType,
+      operation.getSession.asInstanceOf[KyuubiSession].connectionUrl)
   }
 }