You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gobblin.apache.org by hu...@apache.org on 2018/07/16 21:02:34 UTC

incubator-gobblin git commit: [GOBBLIN-536] Add user configured properties to mysql connection string

Repository: incubator-gobblin
Updated Branches:
  refs/heads/master 870ca08de -> 46c604067


[GOBBLIN-536] Add user configured properties to mysql connection string

Closes #2399 from yukuai518/mm2


Project: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/commit/46c60406
Tree: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/tree/46c60406
Diff: http://git-wip-us.apache.org/repos/asf/incubator-gobblin/diff/46c60406

Branch: refs/heads/master
Commit: 46c6040679e548aa076531caa92b1399d45011de
Parents: 870ca08
Author: Kuai Yu <ku...@linkedin.com>
Authored: Mon Jul 16 14:02:29 2018 -0700
Committer: Hung Tran <hu...@linkedin.com>
Committed: Mon Jul 16 14:02:29 2018 -0700

----------------------------------------------------------------------
 .../org/apache/gobblin/configuration/ConfigurationKeys.java  | 1 +
 .../java/org/apache/gobblin/source/jdbc/MysqlExtractor.java  | 8 +++++++-
 2 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/46c60406/gobblin-api/src/main/java/org/apache/gobblin/configuration/ConfigurationKeys.java
----------------------------------------------------------------------
diff --git a/gobblin-api/src/main/java/org/apache/gobblin/configuration/ConfigurationKeys.java b/gobblin-api/src/main/java/org/apache/gobblin/configuration/ConfigurationKeys.java
index a56d4b7..01fa490 100644
--- a/gobblin-api/src/main/java/org/apache/gobblin/configuration/ConfigurationKeys.java
+++ b/gobblin-api/src/main/java/org/apache/gobblin/configuration/ConfigurationKeys.java
@@ -576,6 +576,7 @@ public class ConfigurationKeys {
   public static final String SOURCE_CONN_HOST_NAME = SOURCE_CONN_PREFIX + "host";
   public static final String SOURCE_CONN_VERSION = SOURCE_CONN_PREFIX + "version";
   public static final String SOURCE_CONN_TIMEOUT = SOURCE_CONN_PREFIX + "timeout";
+  public static final String SOURCE_CONN_PROPERTIES = SOURCE_CONN_PREFIX + "properties";
   public static final String SOURCE_CONN_REST_URL = SOURCE_CONN_PREFIX + "rest.url";
   public static final String SOURCE_CONN_USE_PROXY_URL = SOURCE_CONN_PREFIX + "use.proxy.url";
   public static final String SOURCE_CONN_USE_PROXY_PORT = SOURCE_CONN_PREFIX + "use.proxy.port";

http://git-wip-us.apache.org/repos/asf/incubator-gobblin/blob/46c60406/gobblin-modules/gobblin-sql/src/main/java/org/apache/gobblin/source/jdbc/MysqlExtractor.java
----------------------------------------------------------------------
diff --git a/gobblin-modules/gobblin-sql/src/main/java/org/apache/gobblin/source/jdbc/MysqlExtractor.java b/gobblin-modules/gobblin-sql/src/main/java/org/apache/gobblin/source/jdbc/MysqlExtractor.java
index c2f201d..4849c40 100644
--- a/gobblin-modules/gobblin-sql/src/main/java/org/apache/gobblin/source/jdbc/MysqlExtractor.java
+++ b/gobblin-modules/gobblin-sql/src/main/java/org/apache/gobblin/source/jdbc/MysqlExtractor.java
@@ -183,10 +183,16 @@ public class MysqlExtractor extends JdbcExtractor {
     String port = this.workUnitState.getProp(ConfigurationKeys.SOURCE_CONN_PORT);
     String database = this.workUnitState.getProp(ConfigurationKeys.SOURCE_QUERYBASED_SCHEMA);
     String url = "jdbc:mysql://" + host.trim() + ":" + port + "/" + database.trim();
+    String connProps = this.workUnitState.getProp(ConfigurationKeys.SOURCE_CONN_PROPERTIES, "");
 
     if (Boolean.valueOf(this.workUnitState.getProp(ConfigurationKeys.SOURCE_QUERYBASED_IS_COMPRESSION_ENABLED))) {
-      return url + "?useCompression=true";
+      connProps = connProps + (connProps.isEmpty() ? "" : "&" + "useCompression=true");
     }
+
+    if (!connProps.isEmpty()) {
+      url = url + "?" + connProps;
+    }
+
     return url;
   }