Bug 177422

Summary: beagle shouldn't use sqlite2
Product: [Fedora] Fedora Reporter: Jeremy Katz <katzj>
Component: beagleAssignee: Christopher Aillon <caillon>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: bojan, fedora
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-02-01 04:37:26 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 166319    
Bug Blocks: 150222    

Description Jeremy Katz 2006-01-10 16:18:09 UTC
beagle should just be using the main sqlite package instead of the old and
obsolete sqlite2 version.  Otherwise, we're back to the old berkeley db 1.85 ->
db3 debacle

The explanation at
http://www.reactivated.net/weblog/archives/2005/10/beagle-data-storage-lucene-19-and-sqlite-3/
just makes me feel even more queasy -- things are just as likely to hit problems
with those sorts of threaded accesses in sqlite2; it just doesn't keep you from
shooting yourself in the foot like sqlite3 does.

Comment 1 Jeremy Katz 2006-01-21 03:44:09 UTC
Also, http://www.sqlite.org/cvstrac/wiki?p=MultiThreading makes it seem like
things should be safe as long as you're careful.

Comment 2 Bojan Smojver 2006-01-22 22:31:44 UTC
See bug #166319 about thread safety for sqlite package (i.e. sqlite3). This is
currently not enabled, but it should be.

As far as I can see, sqlite2 package also isn't built to be thread safe.

Comment 3 Bojan Smojver 2006-01-22 23:04:01 UTC
In relation to comment #1, it seems that the situation that beagle is hitting
(different threads using the same connection structure) is only solved in the
3.3.1 alpha version of SQLite, and not yet in the stable version 3.2.8.

Does anyone here if know if the supposed bugs in Red Hat Linux 9 the page keeps
harping about are still in recent Fedoras? I certainly hope not. If
threadsOverrideEachOthersLocks variable in os_unix.c is related, then it would
seem that this is not a problem any more, because in Rawhide it gets set to 1.

Maybe the real solution here is to bite the bullet and go 3.3.1?

Comment 4 Alexander Larsson 2006-01-23 09:20:45 UTC
bojan: there is no --enable-threadsafe in sqlite2 configure.

Comment 5 Bojan Smojver 2006-01-23 09:26:03 UTC
I know. I think you need to do -DTHREADSAFE=1 or some such.

Comment 6 Alexander Larsson 2006-01-24 08:21:46 UTC
I'm building the sqlite2 package with THREADSAFE defined now.


Comment 7 Andy Burns 2006-01-31 16:52:36 UTC
Beagle 0.2.1 released today, from the announcement

"CHANGES SINCE 0.2.0
Reenable Sqlite 3 support, but only if you have 3.3.1 or newer.  (Joe)"

I'm presuming 0.2.1 will get sucked into rawhide for FC5T3?

Comment 8 Bojan Smojver 2006-01-31 18:59:02 UTC
Stable version 3.3.3 is out now. So, beagle can link itself to that, once it
gets delivered to Rawhide.

Comment 9 Christopher Aillon 2006-02-01 04:37:26 UTC
in rawhide