ambari-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From adorosz...@apache.org
Subject [1/2] ambari git commit: AMBARI-21294. Setup should keep existing connection-pool setting in ambari.properties
Date Thu, 22 Jun 2017 14:42:47 GMT
Repository: ambari
Updated Branches:
  refs/heads/branch-2.5 291625d46 -> f6bd2b907
  refs/heads/trunk 5fc8ccc96 -> 45a29900b


AMBARI-21294. Setup should keep existing connection-pool setting in ambari.properties


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/45a29900
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/45a29900
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/45a29900

Branch: refs/heads/trunk
Commit: 45a29900bf849678347e33c14587f8ffca855383
Parents: 5fc8ccc
Author: Attila Doroszlai <adoroszlai@hortonworks.com>
Authored: Wed Jun 21 11:00:23 2017 +0200
Committer: Attila Doroszlai <adoroszlai@hortonworks.com>
Committed: Thu Jun 22 16:37:58 2017 +0200

----------------------------------------------------------------------
 .../ambari_server/dbConfiguration_linux.py      | 34 +++++++++++++-------
 1 file changed, 22 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/45a29900/ambari-server/src/main/python/ambari_server/dbConfiguration_linux.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/python/ambari_server/dbConfiguration_linux.py b/ambari-server/src/main/python/ambari_server/dbConfiguration_linux.py
index dac3141..38dfa8c 100644
--- a/ambari-server/src/main/python/ambari_server/dbConfiguration_linux.py
+++ b/ambari-server/src/main/python/ambari_server/dbConfiguration_linux.py
@@ -82,6 +82,14 @@ class LinuxDBMSConfig(DBMSConfig):
     self.local_admin_user = DBMSConfig._init_member_with_prop_default(options, "local_admin_user",
                                                                        properties, LOCAL_DATABASE_ADMIN_PROPERTY,
"postgres")
     self.database_password = getattr(options, "database_password", "")
+
+    self.jdbc_connection_pool_type = DBMSConfig._init_member_with_prop_default(options, "jdbc_connection_pool_type",
properties, JDBC_CONNECTION_POOL_TYPE, "internal")
+    self.jdbc_connection_pool_acquisition_size = DBMSConfig._init_member_with_prop_default(options,
"jdbc_connection_pool_acquisition_size", properties, JDBC_CONNECTION_POOL_ACQUISITION_SIZE,
"5")
+    self.jdbc_connection_pool_idle_test_interval = DBMSConfig._init_member_with_prop_default(options,
"jdbc_connection_pool_idle_test_interval", properties, JDBC_CONNECTION_POOL_IDLE_TEST_INTERVAL,
"7200")
+    self.jdbc_connection_pool_max_idle_time = DBMSConfig._init_member_with_prop_default(options,
"jdbc_connection_pool_max_idle_time", properties, JDBC_CONNECTION_POOL_MAX_IDLE_TIME, "14400")
+    self.jdbc_connection_pool_max_idle_time_excess = DBMSConfig._init_member_with_prop_default(options,
"jdbc_connection_pool_max_idle_time_excess", properties, JDBC_CONNECTION_POOL_MAX_IDLE_TIME_EXCESS,
"0")
+    self.jdbc_connection_pool_max_age = DBMSConfig._init_member_with_prop_default(options,
"jdbc_connection_pool_max_age", properties, JDBC_CONNECTION_POOL_MAX_AGE, "0")
+
     if not self.database_password:
       self.database_password = DBMSConfig._read_password_from_properties(properties, options)
 
@@ -320,9 +328,17 @@ class LinuxDBMSConfig(DBMSConfig):
     properties.process_pair(JDBC_RCA_USER_NAME_PROPERTY, self.database_username)
 
     self._store_password_property(properties, JDBC_RCA_PASSWORD_FILE_PROPERTY, options)
+    self._store_connection_pool_properties(properties)
 
-    # connection pooling (internal JPA by default)
-    properties.process_pair(JDBC_CONNECTION_POOL_TYPE, "internal")
+  # Store set of properties for JDBC connection pooling
+  def _store_connection_pool_properties(self, properties):
+    properties.process_pair(JDBC_CONNECTION_POOL_TYPE, self.jdbc_connection_pool_type)
+    if self.jdbc_connection_pool_type == "c3p0":
+      properties.process_pair(JDBC_CONNECTION_POOL_ACQUISITION_SIZE, self.jdbc_connection_pool_acquisition_size)
+      properties.process_pair(JDBC_CONNECTION_POOL_IDLE_TEST_INTERVAL, self.jdbc_connection_pool_idle_test_interval)
+      properties.process_pair(JDBC_CONNECTION_POOL_MAX_IDLE_TIME, self.jdbc_connection_pool_max_idle_time)
+      properties.process_pair(JDBC_CONNECTION_POOL_MAX_IDLE_TIME_EXCESS, self.jdbc_connection_pool_max_idle_time_excess)
+      properties.process_pair(JDBC_CONNECTION_POOL_MAX_AGE, self.jdbc_connection_pool_max_age)
 
 
 # PostgreSQL configuration and setup
@@ -582,8 +598,7 @@ class PGConfig(LinuxDBMSConfig):
     properties.process_pair(JDBC_POSTGRES_SCHEMA_PROPERTY, self.postgres_schema)
     properties.process_pair(JDBC_USER_NAME_PROPERTY, self.database_username)
 
-    # connection pooling (internal JPA by default)
-    properties.process_pair(JDBC_CONNECTION_POOL_TYPE, "internal")
+    self._store_connection_pool_properties(properties)
 
     properties.process_pair(LOCAL_DATABASE_ADMIN_PROPERTY, self.local_admin_user)
 
@@ -1036,15 +1051,10 @@ class MySQLConfig(LinuxDBMSConfig):
     :param properties:  the properties object to set MySQL specific properties on
     :return:
     """
-    super(MySQLConfig, self)._store_remote_properties(properties, options)
-
     # connection pooling (c3p0 used by MySQL by default)
-    properties.process_pair(JDBC_CONNECTION_POOL_TYPE, "c3p0")
-    properties.process_pair(JDBC_CONNECTION_POOL_ACQUISITION_SIZE, "5")
-    properties.process_pair(JDBC_CONNECTION_POOL_IDLE_TEST_INTERVAL, "7200")
-    properties.process_pair(JDBC_CONNECTION_POOL_MAX_IDLE_TIME, "14400")
-    properties.process_pair(JDBC_CONNECTION_POOL_MAX_IDLE_TIME_EXCESS, "0")
-    properties.process_pair(JDBC_CONNECTION_POOL_MAX_AGE, "0")
+    self.jdbc_connection_pool_type = "c3p0"
+
+    super(MySQLConfig, self)._store_remote_properties(properties, options)
 
 
 def createMySQLConfig(options, properties, storage_type, dbId):


Mime
View raw message