This is an automated email from the ASF dual-hosted git repository.

chengpan pushed a commit to branch branch-0.12
in repository https://gitbox.apache.org/repos/asf/zeppelin.git


The following commit(s) were added to refs/heads/branch-0.12 by this push:
     new 1e99090a7c [ZEPPELIN-6104] Fix NPE when some MongoDB Interpreter 
configs are missing
1e99090a7c is described below

commit 1e99090a7c198916421f798ebb84f20fc4ad5d46
Author: SeungYoung Oh <seung...@naver.com>
AuthorDate: Sun Sep 29 16:45:05 2024 +0900

    [ZEPPELIN-6104] Fix NPE when some MongoDB Interpreter configs are missing
    
    ### What is this PR for?
    This PR avoids an NPE when some MongoDB Interpreter configs are missing by 
replacing them with empty strings.
    
    If certain MongoDB Interpreter configs, such as the username, password, or 
authenticationDatabase, are not entered, it throws an NPE. MongoDB allows 
logins without authentication when authentication is not enabled, so these 
configs are not always required. Since authentication is off by default in 
MongoDB, and these configs are also empty by default in Apache Zeppelin, this 
could be confusing for users.
    And as you can see in 
[shell_extension.js](https://github.com/apache/zeppelin/blob/ac48cc2db1b55257230cae2c382961da2a9cf80d/mongodb/src/main/resources/shell_extension.js#L115),
 the MongoDB interpreter appears to be designed to skip authorization when the 
username is null.
    
    ### What type of PR is it?
    Improvement
    
    ### Todos
    
    ### What is the Jira issue?
    [ZEPPELIN-6104]
    
    ### How should this be tested?
    * run the MongoDB notebook
    
    ### Questions:
    * Does the license files need to update? N
    * Is there breaking changes for older versions? N
    * Does this needs documentation? N
    
    Closes #4844 from seung-00/ZEPPELIN-6104.
    
    Signed-off-by: Cheng Pan <cheng...@apache.org>
    (cherry picked from commit 9a28960c31c38975783a3f64ed801adef61c0696)
    Signed-off-by: Cheng Pan <cheng...@apache.org>
---
 .../main/java/org/apache/zeppelin/mongodb/MongoDbInterpreter.java | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git 
a/mongodb/src/main/java/org/apache/zeppelin/mongodb/MongoDbInterpreter.java 
b/mongodb/src/main/java/org/apache/zeppelin/mongodb/MongoDbInterpreter.java
index 990909a86d..54c121fcdf 100644
--- a/mongodb/src/main/java/org/apache/zeppelin/mongodb/MongoDbInterpreter.java
+++ b/mongodb/src/main/java/org/apache/zeppelin/mongodb/MongoDbInterpreter.java
@@ -197,8 +197,8 @@ public class MongoDbInterpreter extends Interpreter {
   private void prepareShellExtension(){
     shellExtension = shellExtension.replace("TABLE_LIMIT_PLACEHOLDER", 
getProperty("mongo.shell.command.table.limit"))
             .replace("TARGET_DB_PLACEHOLDER", 
getProperty("mongo.server.database"))
-            .replace("USER_NAME_PLACEHOLDER", 
getProperty("mongo.server.username"))
-            .replace("PASSWORD_PLACEHOLDER", 
getProperty("mongo.server.password"))
-            .replace("AUTH_DB_PLACEHOLDER", 
getProperty("mongo.server.authenticationDatabase"));
+            .replace("USER_NAME_PLACEHOLDER", 
getProperty("mongo.server.username", ""))
+            .replace("PASSWORD_PLACEHOLDER", 
getProperty("mongo.server.password", ""))
+            .replace("AUTH_DB_PLACEHOLDER", 
getProperty("mongo.server.authenticationDatabase", ""));
   }
-}
\ No newline at end of file
+}

Reply via email to