From 371a48965b259253021caae2151d4bcae92909c6 Mon Sep 17 00:00:00 2001 From: Chris Behrens Date: Tue, 20 Nov 2012 21:17:29 +0000 Subject: Rename sql_pool_size to sql_max_pool_size A recent patch adds a sql_pool_size config option. This renames it to sql_max_pool_size and sets a default that equals SQLAlchemy's default (5). eventlet's db_pool allows setting a minimum size, so this is to prep for adding a sql_min_pool_size option. Should remove some confusion. No need to support sql_pool_size for backwards compatibility as it was to be a new option in Grizzly, anyway. Also fixes the previous patch to not set pool options if using StaticPool or NullPool. DocImpact Change-Id: Ic41d138a1ee4cdaf785e45091bd5668045153b90 --- nova/config.py | 7 ++++--- nova/db/sqlalchemy/session.py | 10 +++++----- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/nova/config.py b/nova/config.py index f1a0864ec..550960e53 100644 --- a/nova/config.py +++ b/nova/config.py @@ -221,9 +221,10 @@ global_opts = [ cfg.IntOpt('sql_retry_interval', default=10, help='interval between retries of opening a sql connection'), - cfg.IntOpt('sql_pool_size', - default=None, - help='If set, use this value for pool_size with sqlalchemy'), + cfg.IntOpt('sql_max_pool_size', + default=5, + help='Maximum number of SQL connections to keep open in a ' + 'pool'), cfg.IntOpt('sql_max_overflow', default=None, help='If set, use this value for max_overflow with ' diff --git a/nova/db/sqlalchemy/session.py b/nova/db/sqlalchemy/session.py index 6c0564b0b..6ff2b4e3b 100644 --- a/nova/db/sqlalchemy/session.py +++ b/nova/db/sqlalchemy/session.py @@ -180,6 +180,7 @@ CONF.import_opt('sql_idle_timeout', 'nova.config') CONF.import_opt('sqlite_synchronous', 'nova.config') CONF.import_opt('sql_max_retries', 'nova.config') CONF.import_opt('sql_retry_interval', 'nova.config') +CONF.import_opt('sql_max_pool_size', 'nova.config') LOG = logging.getLogger(__name__) _ENGINE = None @@ -277,11 +278,6 @@ def create_engine(sql_connection): 'convert_unicode': True, } - if CONF.sql_pool_size is not None: - engine_args['pool_size'] = CONF.sql_pool_size - if CONF.sql_max_overflow is not None: - engine_args['max_overflow'] = CONF.sql_max_overflow - # Map our SQL debug level to SQLAlchemy's options if CONF.sql_connection_debug >= 100: engine_args['echo'] = 'debug' @@ -294,6 +290,10 @@ def create_engine(sql_connection): if CONF.sql_connection == "sqlite://": engine_args["poolclass"] = StaticPool engine_args["connect_args"] = {'check_same_thread': False} + else: + engine_args['pool_size'] = CONF.sql_max_pool_size + if CONF.sql_max_overflow is not None: + engine_args['max_overflow'] = CONF.sql_max_overflow engine = sqlalchemy.create_engine(sql_connection, **engine_args) -- cgit