Was tun bei Vermischten Datensaetzen?

B. Eversberg EV at buch.biblio.etc.tu-bs.de
Fr Okt 13 09:45:14 CEST 2000


Kollege Berger:

> 
> Aeltere Versionen von NFS unterstuetzen kein File-Locking,
> aeltere (=alle?) allegro-X-Programme daher wohl auch nicht.
> Damit ist es dann theoretisch unmoeglich ein Programm zu
> haben, das im Netzwerkbetrieb korrekt funktioniert.

Dem hatten wir eigentlich vorgebeugt mit der Methodik, uns nicht auf 
das betriebssystemeigene Locking zu verlassen, sondern mit einem
direkt in die TBL bzw. in den Datensatz geschriebenen Byte ein Flag
zu setzen. Nur in Situationen, wo zwei Personen wirklich im Abstand 
von Sekundenbruchteilen speichern, koennte diese Sperre noch 
durchbrochen werden (sog. "race condition"). bei NT und bei Novell 
allerdings nicht, weil da auch noch ein normales File-Locking 
zusaetzlich gemacht wird, etwa seit V15a.

Gravierender duerfte bei NFS sein, aber ich kenne mich da nicht aus,
wenn etwa ein Dateiblock noch in einem Cache laege, und ein anderer 
User eine bereits veraltete Version davon bekaeme, insbes. beim 
Indexabschnitt mit den Leerschluesseln waere das bedenklich. Ob das 
moeglich ist, weiss ich nicht! Die Programme machen immer erst die
Datei zu, d.h. es muesste dann auch physisch geschrieben werden, 
bevor das Sperr-Flag zurueckgesetzt wird und der naechste sich aus
der Datei etwas holen kann. (Ob NFS genau dieses korrekt macht, 
weiss ich eben nicht.)
Soviel zu den Hintergruenden. Sie sehen, es sind etliche Vorkehrungen
getroffen, damit die sicherheitsrelevanten Dinge in den verschiedenen
Umgebungen zuverlaessig funktionieren.

MfG B.E.


Bernhard Eversberg
Universitaetsbibliothek, Postf. 3329, 
D-38023 Braunschweig, Germany
Tel.  +49 531 391-5026 , -5011 , FAX  -5836
e-mail  B.Eversberg at tu-bs.de  




Mehr Informationen über die Mailingliste Allegro