Details
-
Bug
-
Resolution: Done
-
P0: Blocker
-
2011q2
-
None
-
e994873157208dee642519142b7245e79e23bc80
Description
Lately, qt-integration.py is dying semi-frequently when attempting to access the integrator sqlite3 database.
File "/home/qtintegration/qa-dungeon/bin/qt-integration.py", line 159, in <module> main() File "/home/qtintegration/qa-dungeon/bin/qt-integration.py", line 150, in main run(opts, project) File "/home/qtintegration/qa-dungeon/bin/qt-integration.py", line 94, in run if run.tryIntegration(): File "/home/qtintegration/qa-dungeon/bin/../pulse/pythonlib/IntegrationRun.py", line 812, in tryIntegration if self.mergeAndTriggerBuild(): File "/home/qtintegration/qa-dungeon/bin/../pulse/pythonlib/IntegrationRun.py", line 196, in mergeAndTriggerBuild lastbuild = self.lastBuild() File "/home/qtintegration/qa-dungeon/bin/../pulse/pythonlib/IntegrationRun.py", line 1001, in lastBuild ORDER BY timestamp DESC LIMIT 1''', [ self.source.repo, self.source.branch ]) sqlite3.OperationalError: database is locked
I am not sure why this started to happen more often recently. Maybe the size or the amount of accesses to the database has recently crossed some threshold which makes this more common. Regardless, we need to handle it.
It is not too high priority, as the overall design of the script means that it will be automatically restarted and resume OK from where it left off. However it does currently cause some report emails to be sent out twice (when the death occurs after the CI report mail was sent, but before the resulting integration was pushed to the git server).