You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by dz...@apache.org on 2022/05/06 15:43:04 UTC

[drill] branch master updated: DRILL-8207: Fix Username Typo and password @JsonIgnore in JDBC SerDe (#2531)

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

dzamo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/drill.git


The following commit(s) were added to refs/heads/master by this push:
     new 8b498206b3 DRILL-8207: Fix Username Typo and password @JsonIgnore in JDBC SerDe (#2531)
8b498206b3 is described below

commit 8b498206b35708fa0ae8ef3be3cb41e9d3c13838
Author: James Turton <91...@users.noreply.github.com>
AuthorDate: Fri May 6 17:42:59 2022 +0200

    DRILL-8207: Fix Username Typo and password @JsonIgnore in JDBC SerDe (#2531)
---
 .../apache/drill/exec/store/jdbc/JdbcStorageConfig.java    | 14 +++++++++-----
 .../drill/exec/store/security/CredentialProviderUtils.java | 11 ++++++-----
 2 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/contrib/storage-jdbc/src/main/java/org/apache/drill/exec/store/jdbc/JdbcStorageConfig.java b/contrib/storage-jdbc/src/main/java/org/apache/drill/exec/store/jdbc/JdbcStorageConfig.java
index 55753a28fa..0de6912b87 100644
--- a/contrib/storage-jdbc/src/main/java/org/apache/drill/exec/store/jdbc/JdbcStorageConfig.java
+++ b/contrib/storage-jdbc/src/main/java/org/apache/drill/exec/store/jdbc/JdbcStorageConfig.java
@@ -51,7 +51,7 @@ public class JdbcStorageConfig extends CredentialedStoragePluginConfig {
   private final String driver;
   private final String url;
   private final boolean caseInsensitiveTableNames;
-  private final Boolean writable;
+  private final boolean writable;
   private final Map<String, Object> sourceParameters;
   private final int writerBatchSize;
 
@@ -62,7 +62,7 @@ public class JdbcStorageConfig extends CredentialedStoragePluginConfig {
       @JsonProperty("username") String username,
       @JsonProperty("password") String password,
       @JsonProperty("caseInsensitiveTableNames") boolean caseInsensitiveTableNames,
-      @JsonProperty("writable") Boolean writable,
+      @JsonProperty("writable") boolean writable,
       @JsonProperty("sourceParameters") Map<String, Object> sourceParameters,
       @JsonProperty("credentialsProvider") CredentialsProvider credentialsProvider,
       @JsonProperty("authMode") String authMode,
@@ -101,7 +101,6 @@ public class JdbcStorageConfig extends CredentialedStoragePluginConfig {
       .orElse(null);
   }
 
-  @JsonIgnore
   @JsonProperty("password")
   public String getPassword() {
     if (!directCredentials) {
@@ -163,7 +162,10 @@ public class JdbcStorageConfig extends CredentialedStoragePluginConfig {
 
   @Override
   public int hashCode() {
-    return Objects.hash(driver, url, caseInsensitiveTableNames, sourceParameters, credentialsProvider, writable, writerBatchSize);
+    return Objects.hash(
+      driver, url, caseInsensitiveTableNames, sourceParameters,
+      credentialsProvider, writable, writerBatchSize, authMode
+    );
   }
 
   @Override
@@ -181,7 +183,8 @@ public class JdbcStorageConfig extends CredentialedStoragePluginConfig {
         Objects.equals(writable, that.writable) &&
         Objects.equals(sourceParameters, that.sourceParameters) &&
         Objects.equals(credentialsProvider, that.credentialsProvider) &&
-        Objects.equals(writerBatchSize, that.writerBatchSize);
+        Objects.equals(writerBatchSize, that.writerBatchSize) &&
+        Objects.equals(authMode, that.authMode);
   }
 
   @Override
@@ -194,6 +197,7 @@ public class JdbcStorageConfig extends CredentialedStoragePluginConfig {
       .field("sourceParameters", sourceParameters)
       .field("caseInsensitiveTableNames", caseInsensitiveTableNames)
       .field("credentialProvider", credentialsProvider)
+      .field("authMode", authMode)
       .toString();
   }
 }
diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/store/security/CredentialProviderUtils.java b/exec/java-exec/src/main/java/org/apache/drill/exec/store/security/CredentialProviderUtils.java
index 33a475762a..f42f057ad7 100644
--- a/exec/java-exec/src/main/java/org/apache/drill/exec/store/security/CredentialProviderUtils.java
+++ b/exec/java-exec/src/main/java/org/apache/drill/exec/store/security/CredentialProviderUtils.java
@@ -35,13 +35,14 @@ public class CredentialProviderUtils {
     if (credentialsProvider != null) {
       return credentialsProvider;
     }
-    if (username == null) {
-      return PlainCredentialsProvider.EMPTY_CREDENTIALS_PROVIDER;
-    }
 
     ImmutableMap.Builder<String, String> mapBuilder = ImmutableMap.builder();
-    mapBuilder.put(UsernamePasswordCredentials.USERNAME, username);
-    mapBuilder.put(UsernamePasswordCredentials.PASSWORD, password);
+    if (username != null) {
+      mapBuilder.put(UsernamePasswordCredentials.USERNAME, username);
+    }
+    if (password != null) {
+      mapBuilder.put(UsernamePasswordCredentials.PASSWORD, password);
+    }
     return new PlainCredentialsProvider(mapBuilder.build());
   }