]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
pybind/mgr/mgr_module: turn off all automatic transactions 57190/head
authorPatrick Donnelly <pdonnell@ibm.com>
Wed, 12 Feb 2025 02:28:40 +0000 (21:28 -0500)
committerPatrick Donnelly <pdonnell@ibm.com>
Tue, 25 Feb 2025 16:17:16 +0000 (11:17 -0500)
I misunderstood autocommit=False in prior patches. The sqlite3 binding will
still create transactions automatically which confused newer bindings using
autocommit.

So, turn off automatic transaction management completely to maintain backwards
compatibility.

Fixes: https://tracker.ceph.com/issues/69912
Signed-off-by: Patrick Donnelly <pdonnell@ibm.com>
(cherry picked from commit df49652987019d5eeec31c86332d8e69995d931a)

src/pybind/mgr/mgr_module.py

index 93c4458ea4284d0ccbed6d86cc40b2a6ff84f397..622ec4e9b2a946d66056db89316b805b6f75789d 100644 (file)
@@ -1278,10 +1278,7 @@ class MgrModule(ceph_module.BaseMgrModule, MgrModuleLoggingMixin):
             self.create_mgr_pool()
         uri = f"file:///{self.MGR_POOL_NAME}:{self.module_name}/main.db?vfs=ceph";
         self.log.debug(f"using uri {uri}")
-        try:
-            db = sqlite3.connect(uri, check_same_thread=False, uri=True, autocommit=False) # type: ignore[call-arg]
-        except TypeError:
-            db = sqlite3.connect(uri, check_same_thread=False, uri=True, isolation_level=None)
+        db = sqlite3.connect(uri, check_same_thread=False, uri=True, isolation_level=None)  # type: ignore[call-arg]
         # if libcephsqlite reconnects, update the addrv for blocklist
         with db:
             cur = db.execute('SELECT json_extract(ceph_status(), "$.addr");')