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>
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");')