[Allegro] Avanti Lock-Mechanismus

Thomas Berger ThB at Gymel.com
Mi Apr 30 15:50:19 CEST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Lieber Herr Eger, liebe Liste,

|>> kennt jemand eine Möglichkeit, per avanti einen Satz so zu sperren,
|>> daß diese Sperre nach Ende des aktuellen Jobs erhalten bleibt?
|>>
|> Nein, sorry, das ist nicht vorgesehen. Das Objekt "Record" enthält in
|> seinem "Destruktor" den Release-Befehl.
|> In a99 wird der umgangen. ...
|
| Ließe der sich nicht auch in avanti umgehen?
|
| Hintergrund:
| Es gibt insbesondere im WEB-Umfeld einige Szenarien, in denen
| sich nicht alle nötigen Aktionen in einem einzigen Job
| erledigen lassen - entweder, weil zwischen zwei Satzzugriffen eine
| Benutzer-Interaktion nötig ist oder z.B. Fristberechnungen
| auf Basis der Kalendersätze ausgeführt werden sollen.
|
| Auch die Konflikterkennung über den Zeitstempel greift nur
| bei vergleichsweise "langsamen" (> 1s) Vorgängen, insbesondere
| also nicht, wenn ummittelbar hintereinander (im Millisekundenbereich)
| mehrere Jobs an avanti abgesetzt werden.
|
| Es würde also eine ungeheure Erleichterung darstellen, wenn ein Satz
| zwischen zwei Jobs gesperrt bleiben würde ....
|
| Wäre es denn viel Aufwand, das zu ändern? Die Syntax ist an der
| Stelle ja verschieden, ich könnte mir gut vorstellen, daß der
| a99-konforme Befehl (set record lock) die Sperre permanent setzt,
| der bisherige (set lock) sich weiterhin wie bisher verhält.
|
| Was meinen Sie?

Ich finde das problematisch: Wenn wir eine Form von persistenter
Verbindung haetten (zwischen CGI-Skripts und Avanti gab es das
einmal, zwischen Avanti-Server und seinen Client-Prozessen gab
es das nie), dann koennte Avanti beim Verbindungsende Saetze
automatisch entsperren und Locks ueber die Lebensdauer eines
Einel-Jobs waeren moeglich. So sehe ich das Problem, dass
Datensaetze bei Leitungsproblemen gesperrt werden und spaetere
Jobs dann Timeouts oder Deadlocks erleiden.

Koennen Sie nicht auf Anwendungsebene eine Kategorie als
"Bearbeitungssperre" einfuehren, wenn Sie hier einen Zeitstempel
einsetzen, koennen Sie sogar noch ein eingebautes Verfallsdatum
beruecksichtigen. Diese Sperre ist dann je nach Anwendung ggfls.
nur auf die Bearbeitung einiger Kategorien beschraenkt (ich
gehe mal davon aus, dass Sie nicht so verwegen sein wollen,
nach einer makroskopischen Zeit den kompletten Satz aus der
Web-Anwendung heraus zurueckspeichern zu wollen sondern wissen,
welche Kategorien Sie veraendern).

viele Gruesse
Thomas Berger

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3-nr1 (Windows XP)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQCVAwUBSBh5GmITJZieluOzAQJ5JwP7BZNHB21TcfOtiCmdkJW2qBfzXRUNdK0x
7998Bx3o2HPZnRaLDKDk0AzaaS+gy7gPCAF0djXJQiPJU/H2XhyyN7lBk3IZNCei
JBJd3pVoMK52pNM9ewb5g4GjqyB+AtUaAGkfkCxwtIOTKst6j6tpe8+pjS6V4Ywb
wwvlfRAVIG8=
=s9Gs
-----END PGP SIGNATURE-----



Mehr Informationen über die Mailingliste Allegro