Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.

Bug 451791

Summary: parallel access to a database does not work
Product: [Fedora] Fedora Reporter: Stepan Kasal <kasal>
Component: sqliteAssignee: Stepan Kasal <kasal>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: rawhideCC: mmcgrath
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-06-17 14:45:34 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 450664    
Bug Blocks: 449433    
Description Flags
test script none

Description Stepan Kasal 2008-06-17 13:28:33 UTC
Two processes should be able to access the same database file simultaneously,
provided they commit timely.

The problem does not appear with 3.5.6-1.fc9 nor with 3.5.9.

See the attached reproducer.

With working sqlite, the output is:

$ ./t07busy8-lock

With a broken sqlite build, this is followed by two error messages:

DBD::SQLite::db do failed: database is locked(5) at dbdimp.c line 403 at ./t07bu
sy8-lock line 45, <READER> line 1.
Issuing rollback() for database handle being DESTROY'd without explicit
disconnect() at ./t07busy8-lock line 45, <READER> line 1.

According to my tests, this is fixed in sqlite-3.5.9, so if the suggestion from
bug #450664 is accepted, this should disappear.

Comment 1 Stepan Kasal 2008-06-17 13:28:33 UTC
Created attachment 309615 [details]
test script

Comment 2 Stepan Kasal 2008-06-17 14:45:34 UTC
sqlite has been updated, which should solve this issue as well