apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bojan Smojver <bo...@rexursive.com>
Subject [PATCH]: Make SQLite3 wait on BUSY inside dbd_sqlite3_query()
Date Mon, 17 Apr 2006 06:11:18 GMT
I tested this patch with 1.2.x, but I'd like people to check if all is
cool before it gets committed to any branch/trunk. Essentially, we're
not assuming any more that the sqlite3_step() call is always going to be
successful - this call can return SQLITE_BUSY just the same as the one
inside the dbd_sqlite3_select() function.

The gain from this patch was rather obvious in my testing, where I
hammered Apache at concurrency level 10 with requests (using ab) and
with APU DBD doing UPDATE to a single SQLite3 database. With this patch,
I had 0 failed queries out of 1000 requests. Without it, I'd get
anywhere between 750 and 1000 (!) failed queries out of 1000 requests in
this high contention scenario.


View raw message