We're using Firebird 2.1.2.1818 on Centos 5.9. We have a third party
replication product SymmetricDS, that accesses a single row table very
often to do reads and writes. (It seems to be using the table to manage
some sort of locking between SymmetricDS processes.) Very occasionally,
this table becomes unresponsive. The SymmetricDS process hangs and
IBExpert cannot access the table. Looking at the Firebird server box we
can see a connection that we cannot kill, even with kill -9. The only
way we can resolve the problem is to reboot the Firebird machine.
Does anyone have any ideas on this?
Updating a single row very often (what is very often in your case?)
results in a hot-spot in your environment. Even worse if pessimistic
locking is used upon read to ensure serialization if the requirement is
to have atomic values. Often used for invoice numbers without gaps, thus
generators are out of question.
Even with optimistic locking, read requests might fail if you use read
committed isolation level without record versioning.
The number of record versions for this hot-spot row is also something
you should keep an eye on.
--
With regards,
Thomas Steinmaurer
http://www.upscene.com/
Professional Tools and Services for Firebird
FB TraceManager, IB LogManager, Database Health Check, Tuning etc.