Workstation/Server file access and file caching
From: Paul S. (S._at_discussions.microsoft.com)
Date: 11/15/04
- Next message: John Phillips: "Re: How to configurate Network-Settings"
- Previous message: softer: "RE: New P2P"
- Messages sorted by: [ date ] [ thread ]
Date: Mon, 15 Nov 2004 13:43:07 -0800
I was hoping that someone might have an answer for this problem or can direct
me to specific MS KB articles that can help me figure this out. Or maybe some
better search terms to use.
A previous person looked into a similar issue with the affected application
and apparently found some MS KB articles suggesting that the file caching may
be the problem, but I don’t have the article ID’s or titles. The person is no
longer around to ask and my search of the MS KB has not been fruitful.
The issue is with an old Windows 3.1 16-bit application that uses an MS-DOS
style binary database. The application is being rewritten, but I still have
to support this thing in the mean time. In the particular instance where I am
having the problem, the application is being run on a Windows 2000 client
system and accesses the database located on a shared folder on a Windows 2000
server system. The database (file) is accessed through a mapped drive letter.
This application uses the C-Tree low level access functions for all database
file operations. At the lowest level, C-Tree appears to be using the C run
time library file I/O functions.
The operation in question is the recreation of an index file. At some point
in this operation the application acts as if it was not able to create the
index file. I have not been able to reproduce the problem in house. Looking
through the source code the sequence of events appears to be:
See if index exists - access()
Delete existing file – unlink()
Create index file – sopen(SH_DENYWR, ...)
Close index file – fclose() or close()
Open index file - sopen(SH_DENYWR, ...)
Write data – fwrite() or write()
I think this is where the problem is occurring. At the site that is having
the problem there are multiple users using the same database, though not at
the same time. One user can not perform the operation at all. Another user
can get the operation to work, but only by repeating the operation until it
does work (about 5-6 times).
The MS KB article, that the other person found, talked about a situation
with a Windows 2000 client and an NT4 server where there could be a problem
with file caching on the NT4 server. The suggestion was to disable file
caching on the server or put the file on a FAT volume.
On a previous occasion, with a different application, I ran into a file
caching problem where whole records would not be written into a similar
binary type database. That problem involved Novell as the server OS and
Windows on the client system. If file caching was disabled in the client side
network driver, then the problem went away.
Based on the information so far, I’m assuming that the state of the index
file on the server has not caught up with what the application is expecting.
Though that does not seem right, unless some operations have priority over
others?
Thanks for any help.
---Paul
- Next message: John Phillips: "Re: How to configurate Network-Settings"
- Previous message: softer: "RE: New P2P"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|