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

dhavalshah9131 pushed a commit to branch RANGER-5199
in repository https://gitbox.apache.org/repos/asf/ranger.git

commit d3b0791fb67ad29dd82456622d1fad14fe492c9c
Author: dhavalshah <[email protected]>
AuthorDate: Tue Apr 22 12:26:31 2025 +0530

    RANGER-5199 : Connection to Ranger KMS DB fails with secure MySQL/maria DB
---
 .../java/org/apache/hadoop/crypto/key/RangerKMSDB.java   | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKMSDB.java 
b/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKMSDB.java
index 54aa97107..7fa19e723 100755
--- a/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKMSDB.java
+++ b/kms/src/main/java/org/apache/hadoop/crypto/key/RangerKMSDB.java
@@ -162,7 +162,8 @@ private int getDBFlavor(Configuration newConfig) {
     private void updateDBSSLURL() {
         if (conf != null && conf.get(PROPERTY_PREFIX + DB_SSL_ENABLED) != 
null) {
             final String dbSslEnabled = normalize(conf.get(PROPERTY_PREFIX + 
DB_SSL_ENABLED));
-
+            String rangerJpaJdbcUrl = conf.get(PROPERTY_PREFIX + DB_URL);
+            int dbFlavor = getDBFlavor(conf);
             if ("true".equalsIgnoreCase(dbSslEnabled)) {
                 final String dbSslRequired                = 
normalize(conf.get(PROPERTY_PREFIX + DB_SSL_REQUIRED));
                 final String dbSslVerifyServerCertificate = 
normalize(conf.get(PROPERTY_PREFIX + DB_SSL_VerifyServerCertificate));
@@ -173,13 +174,9 @@ private void updateDBSSLURL() {
                 conf.set(PROPERTY_PREFIX + DB_SSL_VerifyServerCertificate, 
dbSslVerifyServerCertificate);
                 conf.set(PROPERTY_PREFIX + DB_SSL_AUTH_TYPE, dbSslAuthType);
 
-                String rangerJpaJdbcUrl = conf.get(PROPERTY_PREFIX + DB_URL);
-
                 if (StringUtils.isNotEmpty(rangerJpaJdbcUrl) && 
!rangerJpaJdbcUrl.contains("?")) {
                     StringBuilder rangerJpaJdbcUrlSsl = new 
StringBuilder(rangerJpaJdbcUrl);
 
-                    int dbFlavor = getDBFlavor(conf);
-
                     if (dbFlavor == DB_FLAVOR_MYSQL) {
                         
rangerJpaJdbcUrlSsl.append("?useSSL=").append(dbSslEnabled)
                                 .append("&requireSSL=").append(dbSslRequired)
@@ -244,6 +241,15 @@ private void updateDBSSLURL() {
                         logger.debug("truststore property '{}' value not 
found!", PROPERTY_PREFIX + DB_SSL_TRUSTSTORE);
                     }
                 }
+            } else {
+                if(dbFlavor == DB_FLAVOR_MYSQL){
+                   if(StringUtils.isNotEmpty(rangerJpaJdbcUrl) && 
!rangerJpaJdbcUrl.contains("?")) {
+                       rangerJpaJdbcUrl = rangerJpaJdbcUrl + "?useSSL=" + 
dbSslEnabled;
+                       conf.set(PROPERTY_PREFIX + DB_URL, rangerJpaJdbcUrl);
+                        jpaProperties.put(JPA_DB_URL, conf.get(PROPERTY_PREFIX 
+ DB_URL));
+                   }
+                }
+                
logger.info(PROPERTY_PREFIX+DB_URL+"="+conf.get(PROPERTY_PREFIX + DB_URL));
             }
         }
     }

Reply via email to