From 221b9226d4255b1623708fd1026b7a0ec7b913a3 Mon Sep 17 00:00:00 2001 From: archit-meesho Date: Wed, 6 Aug 2025 18:26:20 +0530 Subject: [PATCH 1/3] add interpreterName --- .gitignore | 2 ++ .metals/metals.lock.db | 6 ++++++ .../main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java | 2 +- .../java/org/apache/zeppelin/jdbc/ValidationRequest.java | 6 ++++-- 4 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 .metals/metals.lock.db diff --git a/.gitignore b/.gitignore index e52d5a63a2e..ec6747baad1 100644 --- a/.gitignore +++ b/.gitignore @@ -131,3 +131,5 @@ tramp # jEnv file .java-version +.pre-commit-config.yaml +trufflehog/ diff --git a/.metals/metals.lock.db b/.metals/metals.lock.db new file mode 100644 index 00000000000..a61bdfca1b8 --- /dev/null +++ b/.metals/metals.lock.db @@ -0,0 +1,6 @@ +#FileLock +#Wed Aug 06 18:25:16 IST 2025 +hostName=localhost +id=1987e4ee292a357a44852b97ef392fe40efeb042a29 +method=file +server=localhost\:61356 diff --git a/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java b/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java index 930e42e0a27..284a2346485 100644 --- a/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java +++ b/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java @@ -875,7 +875,7 @@ private InterpreterResult executeSql(String dbPrefix, String sql, .replace("\n", " ") .replace("\r", " ") .replace("\t", " "); - ValidationRequest request = new ValidationRequest(sqlToValidate, userName); + ValidationRequest request = new ValidationRequest(sqlToValidate, userName, interpreterName); try { ValidationResponse response = sendValidationRequest(request); if (response.isPreSubmitFail()) { diff --git a/jdbc/src/main/java/org/apache/zeppelin/jdbc/ValidationRequest.java b/jdbc/src/main/java/org/apache/zeppelin/jdbc/ValidationRequest.java index 71d8ad17418..23cf6f67a60 100644 --- a/jdbc/src/main/java/org/apache/zeppelin/jdbc/ValidationRequest.java +++ b/jdbc/src/main/java/org/apache/zeppelin/jdbc/ValidationRequest.java @@ -3,14 +3,16 @@ public class ValidationRequest { private String queryText; private String user; + private String interpreterName; - public ValidationRequest(String queryText, String user) { + public ValidationRequest(String queryText, String user, String interpreterName) { this.queryText = queryText; this.user = user; + this.interpreterName = interpreterName; } public String toJson() { - return "{\"query_text\":\"" + queryText + "\",\"user\":\"" + user + "\"}"; + return "{\"query_text\":\"" + queryText + "\",\"user\":\"" + user + "\",\"interpreter_name\":\"" + interpreterName + "\"}"; } } From 944ec6c514bab4aa02faad164de3670e34bdc333 Mon Sep 17 00:00:00 2001 From: archit-meesho Date: Thu, 7 Aug 2025 23:08:58 +0530 Subject: [PATCH 2/3] fail fast --- .../java/org/apache/zeppelin/jdbc/JDBCInterpreter.java | 8 ++++++-- .../java/org/apache/zeppelin/jdbc/ValidationRequest.java | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java b/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java index 284a2346485..048664e6a8c 100644 --- a/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java +++ b/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java @@ -371,7 +371,7 @@ private static HttpURLConnection createConnection() throws Exception { connection.setRequestMethod("POST"); connection.setRequestProperty("Content-Type", "application/json"); connection.setDoOutput(true); // Enable sending request body - return connection; + return connection; } private static void sendRequest(HttpURLConnection connection, ValidationRequest request) throws Exception { @@ -875,7 +875,8 @@ private InterpreterResult executeSql(String dbPrefix, String sql, .replace("\n", " ") .replace("\r", " ") .replace("\t", " "); - ValidationRequest request = new ValidationRequest(sqlToValidate, userName, interpreterName); + LOGGER.info("interpreter name: {} :::: {}",interpreterName, getInterpreterGroup().getId()); + ValidationRequest request = new ValidationRequest(sqlToValidate, userName,getInterpreterGroup().getId(), interpreterName); try { ValidationResponse response = sendValidationRequest(request); if (response.isPreSubmitFail()) { @@ -916,6 +917,9 @@ private InterpreterResult executeSql(String dbPrefix, String sql, finalOutput.append("Use: ").append(jsonObject.getString(table)).append(" in place of ").append(table).append("\n"); } } + }else if (outputMessage.contains("UnAuthorized Query")) { + context.out.write("Query Error: UnAuthorized Query\n"); + finalOutput.append("You are not authorized to execute this query.\n"); } context.getLocalProperties().put(CANCEL_REASON, finalOutput.toString()); cancel(context); diff --git a/jdbc/src/main/java/org/apache/zeppelin/jdbc/ValidationRequest.java b/jdbc/src/main/java/org/apache/zeppelin/jdbc/ValidationRequest.java index 23cf6f67a60..056aa64df0e 100644 --- a/jdbc/src/main/java/org/apache/zeppelin/jdbc/ValidationRequest.java +++ b/jdbc/src/main/java/org/apache/zeppelin/jdbc/ValidationRequest.java @@ -5,10 +5,10 @@ public class ValidationRequest { private String user; private String interpreterName; - public ValidationRequest(String queryText, String user, String interpreterName) { + public ValidationRequest(String queryText, String user,String interpreterNameDefault, String interpreterName) { this.queryText = queryText; this.user = user; - this.interpreterName = interpreterName; + this.interpreterName = interpreterNameDefault == null ? interpreterNameDefault : interpreterName; } public String toJson() { From bd444bb715f5abeb26616c66060f41d142249f1c Mon Sep 17 00:00:00 2001 From: Vishvas Date: Fri, 8 Aug 2025 00:09:32 +0530 Subject: [PATCH 3/3] fixed fail_fast --- .gitignore | 2 -- .metals/metals.lock.db | 6 ------ .../main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java | 5 ++--- .../java/org/apache/zeppelin/jdbc/ValidationRequest.java | 4 ++-- 4 files changed, 4 insertions(+), 13 deletions(-) delete mode 100644 .metals/metals.lock.db diff --git a/.gitignore b/.gitignore index ec6747baad1..e52d5a63a2e 100644 --- a/.gitignore +++ b/.gitignore @@ -131,5 +131,3 @@ tramp # jEnv file .java-version -.pre-commit-config.yaml -trufflehog/ diff --git a/.metals/metals.lock.db b/.metals/metals.lock.db deleted file mode 100644 index a61bdfca1b8..00000000000 --- a/.metals/metals.lock.db +++ /dev/null @@ -1,6 +0,0 @@ -#FileLock -#Wed Aug 06 18:25:16 IST 2025 -hostName=localhost -id=1987e4ee292a357a44852b97ef392fe40efeb042a29 -method=file -server=localhost\:61356 diff --git a/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java b/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java index 048664e6a8c..6893033816f 100644 --- a/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java +++ b/jdbc/src/main/java/org/apache/zeppelin/jdbc/JDBCInterpreter.java @@ -371,7 +371,7 @@ private static HttpURLConnection createConnection() throws Exception { connection.setRequestMethod("POST"); connection.setRequestProperty("Content-Type", "application/json"); connection.setDoOutput(true); // Enable sending request body - return connection; + return connection; } private static void sendRequest(HttpURLConnection connection, ValidationRequest request) throws Exception { @@ -875,8 +875,7 @@ private InterpreterResult executeSql(String dbPrefix, String sql, .replace("\n", " ") .replace("\r", " ") .replace("\t", " "); - LOGGER.info("interpreter name: {} :::: {}",interpreterName, getInterpreterGroup().getId()); - ValidationRequest request = new ValidationRequest(sqlToValidate, userName,getInterpreterGroup().getId(), interpreterName); + ValidationRequest request = new ValidationRequest(sqlToValidate, userName, interpreterName); try { ValidationResponse response = sendValidationRequest(request); if (response.isPreSubmitFail()) { diff --git a/jdbc/src/main/java/org/apache/zeppelin/jdbc/ValidationRequest.java b/jdbc/src/main/java/org/apache/zeppelin/jdbc/ValidationRequest.java index 056aa64df0e..23cf6f67a60 100644 --- a/jdbc/src/main/java/org/apache/zeppelin/jdbc/ValidationRequest.java +++ b/jdbc/src/main/java/org/apache/zeppelin/jdbc/ValidationRequest.java @@ -5,10 +5,10 @@ public class ValidationRequest { private String user; private String interpreterName; - public ValidationRequest(String queryText, String user,String interpreterNameDefault, String interpreterName) { + public ValidationRequest(String queryText, String user, String interpreterName) { this.queryText = queryText; this.user = user; - this.interpreterName = interpreterNameDefault == null ? interpreterNameDefault : interpreterName; + this.interpreterName = interpreterName; } public String toJson() {