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@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/devel@lists.fedoraproject.org

Reply via email to