Subject | Re: [firebird-support] Re: Reboot to Restore |
---|---|
Author | Helen Borrie |
Post date | 2005-07-23T01:42:45Z |
At 12:17 AM 23/07/2005 +0000, Adam wrote:
service, you won't be able to run gbak...
Kyle, simply having all your application instances call Disconnect doesn't
necessarily detach all connections immediately. If the client still has an
operation running in a transaction that wasn't committed before the detach
request was submitted, the server is going to have to wait for that
transaction to finish before shutting down the database. If a sweep or gc
thread was running, it will complete.
If your application code is in the habit of requesting SELECTS without
committing them eventually, then there's a typical source of detach
delay. The server actually has to wait until it detects the dead
connection before proceeding to commit the transaction. (Since I know
you're a leading light of Delphi from waaay-back, I'd tend to suspect that
you might be using Autocommit transactions, which of course causes the
resources used by transactions not to be freed....)
./heLen
>Kyle,Did you mean to say "shut down the database"? If you shut down the
>
>Since it is a development machine, shutdown the FB service. If the
>connection is still active, it is just finishing up its garbage
>collection or something like that.
service, you won't be able to run gbak...
Kyle, simply having all your application instances call Disconnect doesn't
necessarily detach all connections immediately. If the client still has an
operation running in a transaction that wasn't committed before the detach
request was submitted, the server is going to have to wait for that
transaction to finish before shutting down the database. If a sweep or gc
thread was running, it will complete.
If your application code is in the habit of requesting SELECTS without
committing them eventually, then there's a typical source of detach
delay. The server actually has to wait until it detects the dead
connection before proceeding to commit the transaction. (Since I know
you're a leading light of Delphi from waaay-back, I'd tend to suspect that
you might be using Autocommit transactions, which of course causes the
resources used by transactions not to be freed....)
./heLen