From 74c6bf266e0b86ceb4726cad9268f134d423bae8 Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Fri, 25 Jun 2021 13:54:11 +0100 Subject: [PATCH] concurrency: Deprecate 'TpoolDbapiWrapper' This has been marked as experimented since before oslo.db was split out of nova. We've no test coverage and no idea of whether it even works nowadays. It's time to plan for its eventual removal. Change-Id: Ib7a5a6e1124c44a742b003442f815022a866bcbb Signed-off-by: Stephen Finucane --- oslo_db/concurrency.py | 31 ++++++++++++++----- ...te-TpoolDbapiWrapper-2ce78aa7cbb9e585.yaml | 9 ++++++ 2 files changed, 33 insertions(+), 7 deletions(-) create mode 100644 releasenotes/notes/deprecate-TpoolDbapiWrapper-2ce78aa7cbb9e585.yaml diff --git a/oslo_db/concurrency.py b/oslo_db/concurrency.py index 87c7a866..6043a680 100644 --- a/oslo_db/concurrency.py +++ b/oslo_db/concurrency.py @@ -17,23 +17,40 @@ import copy import logging import threading +from debtcollector import removals from oslo_config import cfg from oslo_db import api - LOG = logging.getLogger(__name__) tpool_opts = [ - cfg.BoolOpt('use_tpool', - default=False, - deprecated_name='dbapi_use_tpool', - deprecated_group='DEFAULT', - help='Enable the experimental use of thread pooling for ' - 'all DB API calls'), + cfg.BoolOpt( + 'use_tpool', + default=False, + deprecated_name='dbapi_use_tpool', + deprecated_group='DEFAULT', + deprecated_for_removal=True, + deprecated_since='10.0.0', + deprecated_reason=( + 'This feature has never graduated from experimental status and is ' + 'now being removed due to lack of maintenance and test coverage' + ), + help=( + 'Enable the experimental use of thread pooling for ' + 'all DB API calls' + ), + ), ] +_removed_msg = ( + 'Thread pool support in oslo_db is deprecated; you should use ' + 'oslo_db.api.DBAPI.from_config directly' +) + +@removals.removed_class( + 'TpoolDbapiWrapper', message=_removed_msg, version='10.0.0') class TpoolDbapiWrapper(object): """DB API wrapper class. diff --git a/releasenotes/notes/deprecate-TpoolDbapiWrapper-2ce78aa7cbb9e585.yaml b/releasenotes/notes/deprecate-TpoolDbapiWrapper-2ce78aa7cbb9e585.yaml new file mode 100644 index 00000000..57812bbc --- /dev/null +++ b/releasenotes/notes/deprecate-TpoolDbapiWrapper-2ce78aa7cbb9e585.yaml @@ -0,0 +1,9 @@ +--- +deprecations: + - | + The ``oslo_db.concurrency.TpoolDbapiWrapper`` class and supporting + ``[database] use_tpool`` config option are now deprecated. + This feature never graduated from experimental status and is slated for + removal due to lack of maintenance and test coverage. Users should switch + to ``oslo_db.api.DBAPI.from_config`` and remove references to the + deprecated config option from their documentation.