Subject Re: [firebird-support] Re: How to shut down FB SS
Author Helen Borrie
At 04:46 PM 25/05/2005 +0000, you wrote:
>--- In firebird-support@yahoogroups.com, Helen Borrie <helebor@t...>
>wrote:
> > At 10:40 AM 23/05/2005 +0000, you wrote:
> > Attaching to a database creates a server
> > instance; detaching destroys it.
>
>Helen, excuse me for side-jumping in this thread.
>My server-instances do not get destroyed when users are detaching.

You do understand that that statement was in reference to Classic server
instances? Superserver begins to terminate threads when it receives a
detach request. In either case, the detachment won't be immediate if a
previous request from that client is still being processed.


>Do you know any popular reason for this,

Pooled connections? Output from huge SELECT statements that are still
waiting to be fetched by the requesting client?

>or do you know somebody who might know this?

This list should find them. :-) However, keeping connections "alive" is
something that is done (or inadvertently overlooked) in the interface
between clients and server. If you don't get a satisfactory answer in this
forum, re-post your problem to the list for your particular connection
interface (firebird-java, firebird-net-provider, firebird-php, etc.)


>I was already asking here, but did not get an answer, and I would
>appreciate if somebody could tell me either "shut connections down
>THAT way" or "don't worry, nothing bad if connections never detach".

Bad disconnections do eventually detach, after a timeout period, when the
client no longer responds to polling from the server. The length of this
timeout period is determined by the socket keep-alive setting that is
configured on the server's OS. In due course, the "dead" transactions will
be rolled back and the abandoned work will be made available for
garbage-collection once there are no transactions left in the system that
are interested in the affected rows.

./heLen