Univention Bugzilla – Bug 29781
UMC-Kommando get/ucr gibt aktuelle Variablen mit Verzögerung aus
Last modified: 2013-07-02 17:28:06 CEST
Aufgefallen in system-setup: Sofort nach ucr set system/setup/boot/select/role=yes habe ich das Modul geöffnet. Trotzdem bekam ich keinen Rollenwahl-Dialog zu sehen. get/ucr gab "no" zurück. Erst nach nochmaligem Öffnen funktionierte es. Grund scheint ein verzögertes ucr.load() zu sein. Das wird nämlich nicht bei jedem get/ucr ausgeführt, sondern wird irgendwann per python-notifier im Zusammenspiel mit pyinotify getriggert. Man muss nur ein paar Sekunden warten, dann geht alles. Aber im ersten Moment habe ich nicht schlecht gestaunt. Ich hatte erwartet, dass die Werte zu jedem Zeitpunkt aktuell sind.
Die Werte werden alle 10 Sekunden neu geladen
(In reply to comment #1) > Die Werte werden alle 10 Sekunden neu geladen Falsch. 10 Sekunden nach einer Änderung. Dies sollte vermeiden, dass die Werte zu schnell neugeladen werden (weil sich z.b. weitere Werte ändern). Das kann eventuell reduziert werden.
Allerdings dauert ein ucr.load() vor jedem get/ucr ungefähr eine Zehntelsekunde... Ich würde ja fast behaupten, wenn man die Zeit aufrechnet gegen den pyinotify und den python-notifier Overhead, kommt man nur ganz knapp über 0 raus.
Zumindest fehlt ein initiales Laden der UCR-Variablen im UMC-Server, wenn ich das richtig sehe?
(In reply to comment #4) > Zumindest fehlt ein initiales Laden der UCR-Variablen im UMC-Server, wenn ich > das richtig sehe? UCR-Variablen werden initial geladen, durch reload() gleich in __init__
(In reply to comment #0) > Aufgefallen in system-setup: Sofort nach > ucr set system/setup/boot/select/role=yes > > habe ich das Modul geöffnet. Trotzdem bekam ich keinen Rollenwahl-Dialog zu > sehen. get/ucr gab "no" zurück. Erst nach nochmaligem Öffnen funktionierte es. > Grund scheint ein verzögertes ucr.load() zu sein. Das wird nämlich nicht bei > jedem get/ucr ausgeführt, sondern wird irgendwann per python-notifier im > Zusammenspiel mit pyinotify getriggert. > > Man muss nur ein paar Sekunden warten, dann geht alles. Aber im ersten Moment > habe ich nicht schlecht gestaunt. Ich hatte erwartet, dass die Werte zu jedem > Zeitpunkt aktuell sind. Funktioniert das ggf. direkt, wenn man sich über den Logout-Button ausloggt? Dann wird eine neue Session gestartet und die UCR-Variablen ggf. neu geladen. Gibt es andere Situation, in denen das bisherige Verhalten kritisch ist? Das beschriebene Szenario ist ja nicht wirklich kritisch.
(In reply to comment #6) > Funktioniert das ggf. direkt, wenn man sich über den Logout-Button ausloggt? > Dann wird eine neue Session gestartet und die UCR-Variablen ggf. neu geladen. > > Gibt es andere Situation, in denen das bisherige Verhalten kritisch ist? Das > beschriebene Szenario ist ja nicht wirklich kritisch. Ja, wenn man sich direkt ausloggt funktioniert es, ich kenne keine Situation, in der das wirklich kritisch ist. Es ist nur eine kurze Zeitverzögerung. Wenn man selbst die UCR-Variable gesetzt hat, ist man vielleicht ein wenig irritiert - ich jedenfalls war es. Die technische Begründung finde ich auch nicht gerade überzeugend. Aber nein, es ist nicht kritisch.
Wird dort gemacht, wie es sich momentan darstellt *** This bug has been marked as a duplicate of bug 31752 ***