mirror of
https://git.yoctoproject.org/poky
synced 2026-05-09 17:39:31 +00:00
bitbake: hashserv: sqlite: Ensure sync propagates to database connections
When the sqlite database backend was restructured, the code to make the databases run in WAL mode and to control if sync() is called was accidentally dropped. This caused terrible database performance to the point that server timeouts were occurring causing really slow builds. Fix this by properly enabling WAL mode and setting the synchronous flag as requested (Bitbake rev: c5b8c91d325ed1ca8abe5fe28d989693555c0622) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
f89d9240b1
commit
70ad9b9b30
@@ -109,11 +109,11 @@ class DatabaseEngine(object):
|
||||
)
|
||||
|
||||
def connect(self, logger):
|
||||
return Database(logger, self.dbname)
|
||||
return Database(logger, self.dbname, self.sync)
|
||||
|
||||
|
||||
class Database(object):
|
||||
def __init__(self, logger, dbname, sync=True):
|
||||
def __init__(self, logger, dbname, sync):
|
||||
self.dbname = dbname
|
||||
self.logger = logger
|
||||
|
||||
@@ -121,6 +121,11 @@ class Database(object):
|
||||
self.db.row_factory = sqlite3.Row
|
||||
|
||||
with closing(self.db.cursor()) as cursor:
|
||||
cursor.execute("PRAGMA journal_mode = WAL")
|
||||
cursor.execute(
|
||||
"PRAGMA synchronous = %s" % ("NORMAL" if sync else "OFF")
|
||||
)
|
||||
|
||||
cursor.execute("SELECT sqlite_version()")
|
||||
|
||||
version = []
|
||||
|
||||
Reference in New Issue
Block a user