Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 6 of 6 total
Thread Blob file timestamp
Tue, Mar 5 2019 5:42 PMPermanent Link

David

I noticed on one of my old apps using 4.25 there is a .blb file that has a different timestamp to the .idx and .dat files and I am not sure how this can happen. The blb file was more recent than the .idx and.dat files by a couple of hours.   I did a verify on the table and no errors came up which is good but just wondering if this is expected behaviour?

I know you can  have different timestamps on .idx and .dat files if adding new non indexed fields, but the .blb has me a bit confused.

Is this anything to do with the windows disk cache?

Regards
David.
Fri, Mar 8 2019 1:09 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

David,

<< I noticed on one of my old apps using 4.25 there is a .blb file that has a different timestamp to the .idx and .dat files and I am not sure how this can happen. The blb file was more recent than the .idx and.dat files by a couple of hours.   I did a verify on the table and no errors came up which is good but just wondering if this is expected behaviour? >>

Hmm, the only thing that I can think of that would cause that would be a file copy/restore or a repair.  Typically, any time the .blb file is updated, the .dat will be updated also.

Tim Young
Elevate Software
www.elevatesoft.com
Mon, Mar 11 2019 12:47 PMPermanent Link

David

Thanks Tim.  I was hoping you might have had a suggestion on why this might be, but I have tried myself to re-create this but I cant.  I am sure it has something to do with it being client server and I am not hitting the right sequence.

Anyway, I presume providing that DBSys isn't reporting any issues with the table that everything is OK?

I wonder if this could be caused by one of the following.

1. The Windows cache not writing the blob until later on, possibly once all sessions have expired.
2. A virus scanner keeping the blob open and only being written once all file handles have been cleared.


I have only noticed this on a couple of tables and I am not aware of any user having issues with these tables, but as  I noticed it, its been bugging me a bit.

Does the blob file have any header information that could be examined to see if the timestamp difference was caused by DBISam or by an external factor such as virus scanner or as you say file copy/restore.  It should not be the latter but I see where you are coming from.

Regards
David.

Tim Young [Elevate Software] wrote:

David,

<< I noticed on one of my old apps using 4.25 there is a .blb file that has a different timestamp to the .idx and .dat files and I am not sure how this can happen. The blb file was more recent than the .idx and.dat files by a couple of hours.   I did a verify on the table and no errors came up which is good but just wondering if this is expected behaviour? >>

Hmm, the only thing that I can think of that would cause that would be a file copy/restore or a repair.  Typically, any time the .blb file is updated, the .dat will be updated also.

Tim Young
Elevate Software
www.elevatesoft.com
Tue, Mar 12 2019 10:09 AMPermanent Link

David

Hi Tim.

I have also noticed that idx files can have a later timestamp than the original .dat timestamp in a multi user environment.  When checked, nothing is wrong.  I wonder if someone adds a new records to the dat, while another user is viewing the data at the same time, will this record just sit in the Windows cache and when all have terminated the data will be flushed to disk.  Could this mean that the .dat file has one timestamp, the time and date the last update was made, but the idx or blob end up getting the timestamp of when the file was written to disk.  This certainly seems to be what I am seeing on the most used tables that are part of various other queries.

I have just tried this scenario having two copies of the database open, write to one and input a new record that will add an index, closed down the app but left the other database intentionally open for a bit longer.  When I check the files, the dat has an earlier timestamp than the idx, so this seems to explain what I am seeing.  Will the same apply to a blob?  I tried to recreate but didn't manage.

I am probably worrying about nothing hopefully, and this is just the obscurities of the Windows cache.

Regards
David.
Thu, Mar 14 2019 11:47 AMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

David,

<< I have also noticed that idx files can have a later timestamp than the original .dat timestamp in a multi user environment.  When checked, nothing is wrong.  I wonder if someone adds a new records to the dat, while another user is viewing the data at the same time, will this record just sit in the Windows cache and when all have terminated the data will be flushed to disk. >>

Are you using the DBISAM Database Server, or just direct, file-sharing access ?  There are some peculiarities with the SMB 3.x network redirector that could account for this, or it could just be down to the Windows file system, as you say.

https://blogs.technet.microsoft.com/asiasupp/2010/12/14/file-date-modified-property-are-not-updating-while-modifying-a-file-without-closing-it/

Tim Young
Elevate Software
www.elevatesoft.com
Fri, Mar 15 2019 6:35 AMPermanent Link

David

Hi Tim.

I am using the DBISAM database server as its client server.

Regards
David.

Tim Young [Elevate Software] wrote:

Are you using the DBISAM Database Server, or just direct, file-sharing access ?  There are some peculiarities with the SMB 3.x network redirector that could account for this, or it could just be down to the Windows file system, as you say.

https://blogs.technet.microsoft.com/asiasupp/2010/12/14/file-date-modified-property-are-not-updating-while-modifying-a-file-without-closing-it/

Tim Young
Elevate Software
www.elevatesoft.com
Image