On Mon, Feb 01, 2016 at 11:13:08AM +0100, Florian Weimer wrote: > On 02/01/2016 10:59 AM, Richard W.M. Jones wrote: > > > Even if the RPM database is only accessed via librpm, it's still > > important that the most central database present on every Fedora > > system is reliable, well-tested and flexible. Sqlite is a highly > > regarded piece of software, which runs on billions of Android phones. > > That's a strange argument because SQLite is optimized for the mobile use > case, where durability is not a concern: > > <http://article.gmane.org/gmane.comp.db.sqlite.general/99223> I don't see that this posting backs up what you are saying. Of course databases don't perform the impossible - you have to wait for the commit to succeed before the data is persisted, anything else requires backup power supplies and redundant disks. But sqlite is much more likely to be durable than some hand-written brand new code. The new RPM database code - for example - does not fsync the directory after updating it, meaning that database files can just disappear in the event of a power failure. This is a classic bug which I'm sure will be fixed, but since I found that problem in 5 minutes looking at the code, it's very likely that many other problems exist. > On the other hand, RPM is not crash-safe at all at present, so this > SQLite bug would not prevent its use in RPM. Just because one part of RPM isn't crash-safe doesn't mean no part of it should be. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com libguestfs lets you edit virtual machines. Supports shell scripting, bindings from many languages. http://libguestfs.org -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx http://lists.fedoraproject.org/admin/lists/devel@xxxxxxxxxxxxxxxxxxxxxxx