From dc31a60d64cdbb96947ae63e197a05eb6d8746bd Mon Sep 17 00:00:00 2001 From: liuzy523 Date: Fri, 1 Dec 2023 09:49:47 +0800 Subject: [PATCH 1/5] resolve the catalog problem when querying base on kyuubi+flink --- .../arctic/server/terminal/kyuubi/KyuubiSession.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java b/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java index 104f98c979..f25cc59190 100644 --- a/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java +++ b/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java @@ -57,12 +57,20 @@ public ResultSet executeStatement(String catalog, String statement) { + "since it's a hive type catalog and can use spark session catalog, " + "switch to spark_catalog before execution", currentCatalog)); - execute("use `spark_catalog`"); + try { + connection.setCatalog("spark_catalog"); + } catch (SQLException e) { + throw new RuntimeException("error when set catalog: spark_catalog", e); + } } else { logs.add( String.format( "current catalog is %s, switch to %s before execution", currentCatalog, catalog)); - execute("use `" + catalog + "`"); + try { + connection.setCatalog(catalog); + } catch (SQLException e) { + throw new RuntimeException("error when set catalog:" + catalog, e); + } } this.currentCatalog = catalog; } From 7562202d6629453c529ff34c27c4b2062bdd67db Mon Sep 17 00:00:00 2001 From: liuzy523 Date: Mon, 11 Dec 2023 15:11:42 +0800 Subject: [PATCH 2/5] reduce duplicated codes --- .../server/terminal/kyuubi/KyuubiSession.java | 32 +++++++++---------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java b/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java index f25cc59190..17d97e8031 100644 --- a/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java +++ b/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java @@ -49,28 +49,26 @@ public Map configs() { @Override public ResultSet executeStatement(String catalog, String statement) { + String useCatalog; if (currentCatalog == null || !currentCatalog.equalsIgnoreCase(catalog)) { if (TerminalSession.canUseSparkSessionCatalog(sessionConf, catalog)) { logs.add( - String.format( - "current catalog is %s, " - + "since it's a hive type catalog and can use spark session catalog, " - + "switch to spark_catalog before execution", - currentCatalog)); - try { - connection.setCatalog("spark_catalog"); - } catch (SQLException e) { - throw new RuntimeException("error when set catalog: spark_catalog", e); - } + String.format( + "current catalog is %s, " + + "since it's a hive type catalog and can use spark session catalog, " + + "switch to spark_catalog before execution", + currentCatalog)); + useCatalog = "spark_catalog"; } else { logs.add( - String.format( - "current catalog is %s, switch to %s before execution", currentCatalog, catalog)); - try { - connection.setCatalog(catalog); - } catch (SQLException e) { - throw new RuntimeException("error when set catalog:" + catalog, e); - } + String.format( + "current catalog is %s, switch to %s before execution", currentCatalog, catalog)); + useCatalog = catalog; + } + try { + connection.setCatalog(useCatalog); + } catch (SQLException e) { + throw new RuntimeException("error when set catalog:" + catalog, e); } this.currentCatalog = catalog; } From b975f9ee8ca56a1609de5d830f4f62066ac092ca Mon Sep 17 00:00:00 2001 From: liuzy523 Date: Mon, 11 Dec 2023 15:35:09 +0800 Subject: [PATCH 3/5] reduce duplicated codes --- .../server/terminal/kyuubi/KyuubiSession.java | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java b/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java index f25cc59190..bbd2193ad2 100644 --- a/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java +++ b/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java @@ -49,6 +49,7 @@ public Map configs() { @Override public ResultSet executeStatement(String catalog, String statement) { + String useCatalog; if (currentCatalog == null || !currentCatalog.equalsIgnoreCase(catalog)) { if (TerminalSession.canUseSparkSessionCatalog(sessionConf, catalog)) { logs.add( @@ -57,20 +58,18 @@ public ResultSet executeStatement(String catalog, String statement) { + "since it's a hive type catalog and can use spark session catalog, " + "switch to spark_catalog before execution", currentCatalog)); - try { - connection.setCatalog("spark_catalog"); - } catch (SQLException e) { - throw new RuntimeException("error when set catalog: spark_catalog", e); - } + useCatalog = "spark_catalog"; } else { logs.add( String.format( "current catalog is %s, switch to %s before execution", currentCatalog, catalog)); - try { - connection.setCatalog(catalog); - } catch (SQLException e) { - throw new RuntimeException("error when set catalog:" + catalog, e); - } + useCatalog = catalog; + } + try { + connection.setCatalog(useCatalog); + } catch (SQLException e) { + throw new RuntimeException(String.format("Failed to set catalog %s on the connection", + useCatalog), e); } this.currentCatalog = catalog; } From 97d9e044f8fc1fe014b0a76cc6a0ce521be19e6f Mon Sep 17 00:00:00 2001 From: liuzy523 Date: Mon, 11 Dec 2023 15:39:47 +0800 Subject: [PATCH 4/5] reduce duplicated codes --- .../com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java | 1 + 1 file changed, 1 insertion(+) diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java b/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java index 8b728a49af..41e438b17f 100644 --- a/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java +++ b/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java @@ -50,6 +50,7 @@ public Map configs() { @Override public ResultSet executeStatement(String catalog, String statement) { if (currentCatalog == null || !currentCatalog.equalsIgnoreCase(catalog)) { + String useCatalog; if (TerminalSession.canUseSparkSessionCatalog(sessionConf, catalog)) { logs.add( String.format( From a9faaa2bf1a292d11a49a014ecfd8434083e28ba Mon Sep 17 00:00:00 2001 From: liuzy523 Date: Wed, 20 Dec 2023 10:45:10 +0800 Subject: [PATCH 5/5] reduce duplicated codes --- .../netease/arctic/server/terminal/kyuubi/KyuubiSession.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java b/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java index 41e438b17f..312e1336cf 100644 --- a/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java +++ b/ams/server/src/main/java/com/netease/arctic/server/terminal/kyuubi/KyuubiSession.java @@ -68,8 +68,8 @@ public ResultSet executeStatement(String catalog, String statement) { try { connection.setCatalog(useCatalog); } catch (SQLException e) { - throw new RuntimeException(String.format("Failed to set catalog %s on the connection", - useCatalog), e); + throw new RuntimeException( + String.format("Failed to set catalog %s on the connection", useCatalog), e); } this.currentCatalog = catalog; }