[Xapian-discuss] xapian-tcpsrv php in real fastcgi loop
Martin Regner
martin.regner at larkos.de
Fri Mar 19 18:25:35 GMT 2010
Hello,
i'm fresh new to xapian (and impressed.. fast, faster, xapian). And so i have
a problem with no solution at the moment.
I have a webapp based on php5 in a special fastcgi loop environment (thus
there are some loops spawned handling multiple requests so there is no need
for php to recreate classes and Objects all the time).
I implemented a xapian wrapper class to access a remote database provided by
xapian-tcpsrv using this command:
xapian-tcpsrv --port 5050 --writable /var/lib/xapian/objects/
I indexed all ths stuff we need and tested the search. Fast and furious, but i
randomly get:
REMOTE:Unable to acquire database write lock on /var/lib/xapian/objects/:
already locked
First, this is a connection tried to open with Xapian::remote_open. So i think
it should'nt create a write lock. Otherwise, i started xapian-tcpsrv with --
writable, do i have to start to instances on the same directory, one writable
and one not?
Second, if i understand the examples right i have to unset the database object
to get the lock released. But i don't want to close the connection. I Just
want to release the lock if possible. Is there any convenient way to let any
lock go if everything is done in a process?
Third, if there is a lock why is there a exception thrown? Wouldn't it be
better to wait for the lock a well defined time similar to database locks for
example?
I think i do something (or some things) wrong here, but i don't know what it
is.
Any help greatly appreciated
Greetings so far
DonMartio
More information about the Xapian-discuss
mailing list