Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 4 of 4 total
Thread Temp Query question
Wed, Mar 20 2019 6:08 PMPermanent Link

David

Hi Tim.

I have two more questions for you.

I have noticed that very occasionally the server is not releasing a file handle which results in a temp file being left over even after the session has expired.  In some instances trying to delete the file without a server restart gives the expected File in use error.  When the server is restarted this is resolved but the temp files hang around until I clean them up.  I have the server setup to restart daily to alleviate this but I was wondering, is it safe to have these files lying around and if the server tried to create a new file with the same name, would it overwrite the orphaned temp file providing the lock had been released with a database server.

On related note I had a  user who disconnected from the server by unplugging the network card.  I have the dead session clean-up set to two hours so the users can come back within this timeframe and re-connect.  I noticed today that this happened and the user had one thread id, disconnected then some time later re-connected and they had a new thread id.  I had never noticed this before, is that expected?

The reason I ask was because the user disconnected, re-connected and then tried to log off but this resulted in a pointer exception in the dbsrvr.  Once the dead sessions had expired there should have been no lock on these temp files but I tried to delete them and got the file in user error.  Once the server restarted they were free and I could remove them then.


Regards
David.
Mon, Mar 25 2019 10:39 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

David,

<< I have noticed that very occasionally the server is not releasing a file handle which results in a temp file being left over even after the session has expired.  In some instances trying to delete the file without a server restart gives the expected File in use error.  When the server is restarted this is resolved but the temp files hang around until I clean them up.  I have the server setup to restart daily to alleviate this but I was wondering, is it safe to have these files lying around and if the server tried to create a new file with the same name, would it overwrite the orphaned temp file providing the lock had been released with a database server. >>

Is this a session that is still present on the DBISAM Database Server, but just hasn't been removed yet ?

<< On related note I had a  user who disconnected from the server by unplugging the network card.  I have the dead session clean-up set to two hours so the users can come back within this timeframe and re-connect.  I noticed today that this happened and the user had one thread id, disconnected then some time later re-connected and they had a new thread id.  I had never noticed this before, is that expected? >>

Yes, a session can migrate between multiple threads.

<< The reason I ask was because the user disconnected, re-connected and then tried to log off but this resulted in a pointer exception in the dbsrvr.  Once the dead sessions had expired there should have been no lock on these temp files but I tried to delete them and got the file in user error.  Once the server restarted they were free and I could remove them then. >>

What version of the DBISAM Database Server are you using ? There were some issues with session removal with 4.45:

https://www.elevatesoft.com/incident?action=viewrep&category=dbisam&release=4.45&incident=4640

https://www.elevatesoft.com/incident?action=viewrep&category=dbisam&release=4.45&incident=4699

Tim Young
Elevate Software
www.elevatesoft.com
Tue, Mar 26 2019 4:49 PMPermanent Link

David

Tim Young [Elevate Software] wrote:

<<Is this a session that is still present on the DBISAM Database Server, but just hasn't been removed yet ?>>

No the sessions have all expired or closed down by this time so there is nothing visible to disconnect.  It is entirely possible that there is, just not showing in the server manager I guess.  There is usually an access violation in dbsrvr in the log as well.


<<Yes, a session can migrate between multiple threads.>>

Does the old thread get closed then or could it just sit there and it might be the reason the table still has a lock on it?


<<What version of the DBISAM Database Server are you using ? There were some issues with session removal with 4.45:

https://www.elevatesoft.com/incident?action=viewrep&category=dbisam&release=4.45&incident=4640

https://www.elevatesoft.com/incident?action=viewrep&category=dbisam&release=4.45&incident=4699>>

This is 4.25 I am afraid, not got permission to upgrade without revalidating the whole system which has put us off.  I would very much like to upgrade to the most recent version and I am indeed planning this but just not at the current time.
Mon, Apr 1 2019 2:20 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

David,

<< This is 4.25 I am afraid, not got permission to upgrade without revalidating the whole system which has put us off.  I would very much like to upgrade to the most recent version and I am indeed planning this but just not at the current time. >>

Yeah, there have been a *lot* of improvements to DBISAM since then, so you're most likely seeing something that was fixed a while ago.

Essentially, what I've been doing is any time I make a fix/improvement in one of the products, I see if any of the other products could use the fix/improvement, and then port it when I get the chance.  For example, DBISAM and EDB will be getting SSL/TLS implementations once EWB 3 is released because EWB 3 has an SSL/TLS-enabled socket implementation that is transparent to the higher layers of functionality.

Tim Young
Elevate Software
www.elevatesoft.com
Image