hello,
We recently switched from superserver mode to classic mode (still stuck on
Firebird 1.5 unfortunately) to take advantage of the 2nd CPU on the server and
to prevent intensive queries from slowing down the whole system. It has worked
out well except that we seem to see more deadlocks now.
Currently, we have one user who has been unable to update a record for 3
days now (keeps getting a deadlock condition), so it seems that as a last
resort I might have to restart Firebird to break this deadlock.
Here's my question -- how do I do that? Do I have to kill all of the
fb_inet_server processes? The easiest way for me is to reboot the server, but
is there a better way? We have a GUI tool (Easy-IP DB manager), but it only
kills the Firebird listener process.
Two other things I've noticed with classic vs. superserver:
1) I'm having more trouble altering stored procedures. It seems classic
mode won't let you update a stored procedure if it's currently being run. I
don't recall this problem with superserver mode.
2) In superserver mode, when I abnormally terminated from IBExpert (our
SQL query tool) due to the query taking too long -- the system response time
improved immediately. However, in classic mode, the fb_inet_server process
continues to run even though I abnormally terminated from IBExpert.
Thanks in advance for any assistance. I know the long-term solution is to
write better code, but for the short-term I need a way to break deadlocks
without rebooting the database server constantly.
vince