summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitreview2
-rw-r--r--.zuul.yaml9
-rw-r--r--oslo_db/sqlalchemy/enginefacade.py6
-rw-r--r--oslo_db/tests/sqlalchemy/test_enginefacade.py18
-rw-r--r--releasenotes/notes/fix_synchronous_reader-ca442ca9f07470ec.yaml8
5 files changed, 31 insertions, 12 deletions
diff --git a/.gitreview b/.gitreview
index efa6ce0..e509144 100644
--- a/.gitreview
+++ b/.gitreview
@@ -1,5 +1,5 @@
[gerrit]
-host=review.openstack.org
+host=review.opendev.org
port=29418
project=openstack/oslo.db.git
defaultbranch=stable/ocata
diff --git a/.zuul.yaml b/.zuul.yaml
new file mode 100644
index 0000000..c3be308
--- /dev/null
+++ b/.zuul.yaml
@@ -0,0 +1,9 @@
+- project:
+ templates:
+ - openstack-python-jobs
+ - openstack-python35-jobs
+ - publish-openstack-docs-pti
+ - check-requirements
+ - lib-forward-testing
+ - release-notes-jobs-python3
+ - periodic-stable-jobs
diff --git a/oslo_db/sqlalchemy/enginefacade.py b/oslo_db/sqlalchemy/enginefacade.py
index d4ba4cc..2c7c5f5 100644
--- a/oslo_db/sqlalchemy/enginefacade.py
+++ b/oslo_db/sqlalchemy/enginefacade.py
@@ -307,7 +307,8 @@ class _TransactionFactory(object):
self._start()
if mode is _WRITER:
return self._writer_engine.connect()
- elif self.synchronous_reader or mode is _ASYNC_READER:
+ elif mode is _ASYNC_READER or \
+ (mode is _READER and not self.synchronous_reader):
return self._reader_engine.connect()
else:
return self._writer_engine.connect()
@@ -322,7 +323,8 @@ class _TransactionFactory(object):
kw['bind'] = bind
if mode is _WRITER:
return self._writer_maker(**kw)
- elif self.synchronous_reader or mode is _ASYNC_READER:
+ elif mode is _ASYNC_READER or \
+ (mode is _READER and not self.synchronous_reader):
return self._reader_maker(**kw)
else:
return self._writer_maker(**kw)
diff --git a/oslo_db/tests/sqlalchemy/test_enginefacade.py b/oslo_db/tests/sqlalchemy/test_enginefacade.py
index 9d84c1a..628a63b 100644
--- a/oslo_db/tests/sqlalchemy/test_enginefacade.py
+++ b/oslo_db/tests/sqlalchemy/test_enginefacade.py
@@ -130,15 +130,15 @@ class MockFacadeTest(oslo_test_base.BaseTestCase):
async_reader_maker = writer_maker
if self.synchronous_reader:
- reader_conn = async_reader_conn
- reader_engine = async_reader_engine
- reader_session = async_reader_session
- reader_maker = async_reader_maker
- else:
reader_conn = writer_conn
reader_engine = writer_engine
reader_session = writer_session
reader_maker = writer_maker
+ else:
+ reader_conn = async_reader_conn
+ reader_engine = async_reader_engine
+ reader_session = async_reader_session
+ reader_maker = async_reader_maker
self.connections = AssertDataSource(
writer_conn, reader_conn, async_reader_conn
@@ -231,9 +231,9 @@ class MockFacadeTest(oslo_test_base.BaseTestCase):
async_reader_engine = writer_engine
if self.synchronous_reader:
- reader_engine = async_reader_engine
- else:
reader_engine = writer_engine
+ else:
+ reader_engine = async_reader_engine
engines = AssertDataSource(
writer_engine, reader_engine, async_reader_engine)
@@ -328,9 +328,9 @@ class MockFacadeTest(oslo_test_base.BaseTestCase):
async_reader_maker = writer_maker
if self.synchronous_reader:
- reader_maker = async_reader_maker
- else:
reader_maker = writer_maker
+ else:
+ reader_maker = async_reader_maker
makers = AssertDataSource(
writer_maker,
diff --git a/releasenotes/notes/fix_synchronous_reader-ca442ca9f07470ec.yaml b/releasenotes/notes/fix_synchronous_reader-ca442ca9f07470ec.yaml
new file mode 100644
index 0000000..c842b7d
--- /dev/null
+++ b/releasenotes/notes/fix_synchronous_reader-ca442ca9f07470ec.yaml
@@ -0,0 +1,8 @@
+---
+fixes:
+ - |
+ Repaired the "synchronous_reader" modifier of enginefacade so that it
+ refers to the "writer" engine when set to True, thereby allowing
+ "synchronous" behavior with the writer. When set to False, this is
+ "asynchronous", so this should be associated with the async engines.
+ The flag had the reverse behavior previously.