Hello Mark,

On Thu, 13 Mar 2003 12:06:22 -0800 GMT (14/03/03, 03:06 +0700 GMT),
Mark Wieder wrote:

>>> Any idea what happens when both try to access the files at the same time?

TF>> Loss of data integrity, corruption or loss of data.

> I, OTOH, try to go by the rule that if you don't know what you're
> talking about, don't post answers.

Ditto.

> In short, accessing the database files is a READ operation and TB
> handles it well. You don't (generally speaking - this *is* microsoft
> we're talking about here) cause data corruption problems by reading a
> file.

Correct. But guess what: People using TB do write to the files as
well!

> Multiuser deletions *could* possibly cause a problem if file-locking
> isn't implemented properly,

If two users are writing to a file at the same time, it *will* cause
problems. I don't understand what you mean by locking "properly": a
file is locked or not. Depending on the programming language, you
might be able to distinguish between "lock only if accessing for
write", or you have to lock the file completely, disallowing all
access by other users while one user is accessing it.

> but I've never seen a race condition where this has happened.

There was a case a couple of days ago on one of the German TB lists
where an AB got corrupted, I think it was a complete loss of data,
because two users on a network opened it for write access at the same
time. Statistically, this isn't very likely, but it does happen, and
good software engineering practice is therefore to lock files on a
network. I prefer to lock them completely rather than for write access
only. Mind you, if someone opens a file, it will be open for less than
a second (to be vague), because once the data is in his RAM, the file
will be closed again while he still sees it on his screen as long as
he wants.

> At any rate, I regularly have multiple users reading the same
> documents and replying to them ("hey... take a look at so-and-so's
> message").

Quite normal. See above: when multiple users have the same document on
their screen, it does not mean that the file is open at all. It only
means that they opened (and maybe locked) it, accessed it, read the
file into RAM, closed (and released) it.

> Maybe you're thinking of Eudora, where multiuser situations can and
> do corrupt the message database (but importing the corrupted file
> into TB fixes it <g>).

No, I am thinking of software engineering stuff, in this case file
access and BIOS. Want to talk with me about semaphores and how file
locking works? Or what physically happens when a file on a network
drive is accessed for writing by two users at the same time and why
this *will* (not *could*) cause data corruption?

I wasn't just babbling about, I studied this stuff (got a postgraduate
diploma in Computing - reminds me, I have to register for my master's
thesis within this month). I have also been programming since 1978,
and that includes writing applications running on LANs.

-- 

Cheers,
Thomas.

Moderator der deutschen The Bat! Beginner Liste.

A journey of a thousand miles begins with a cash advance.

Message reply created with The Bat! 1.63 Beta/5
under Chinese Windows 98 4.10 Build 2222 A 
using an AMD Athlon K7 1.2GHz, 128MB RAM


________________________________________________
Current version is 1.62 | "Using TBUDL" information:
http://www.silverstones.com/thebat/TBUDLInfo.html

Reply via email to