Skip to contentSkip to conversation

persist_data: Avoid fsync() calls

PATCH New Richard Purdie 1 participant 1 message May 3, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 persist_data: Avoid fsync() calls

If the power were to fail, it doesn't matter to us much if the data makes it to disk or not, we'd have other problems. However an fsync() call on a multi build autobuilder is painful so lets avoid them.

This is particularly true in this case if a timeout causes a reconnect during a build.

---

bitbake/lib/bb/persist_data.py +3 -1
index 994e61b..5795bc8 100644
@@ -199,7 +199,9 @@ class PersistData(object):
         del self.data[domain][key]
 
 def connect(database):
-    return sqlite3.connect(database, timeout=5, isolation_level=None)
+    connection = sqlite3.connect(database, timeout=5, isolation_level=None)
+    connection.execute("pragma synchronous = off;")
+    return connection
 
 def persist(domain, d):
     """Convenience factory for SQLTable objects based upon metadata"""