Problem mit configDB Attributen

Begonnen von crispyduck, 02 Januar 2018, 14:59:26

Vorheriges Thema - Nächstes Thema

crispyduck

Hallo,

keine Ahnung wieso, aber ich kann irgendwie keine configDB Attribute mehr setzen, verändern der löschen.

Sonst funktioniert alles mit configdb und ich habe auch erst wieder ein paar Files importiert. Wollte jetzt das Attribut deleteimported setzen, und musste feststellen das ich zwar eine Bestätigung bekomme, aber bei einem anschließendes list kein attr deleteimported 1 zu sehen ist.
Ebenso lässt sich kein Attribut ändern oder löschen.

configdb attr:

configdb attr maxversions 3
configdb attr private 1


configdb attr deleteimported 1:

attribute deleteimported set to value 1


configdb list configdb:

search result for device: configdb in version: 0
--------------------------------------------------------------------------------
attr configdb maxversions 3
attr configdb private 1


Wie gesagt sonst funktioniert alles, ich kann files importieren und exportieren, devices anlegen, editieren,...
configDB.pm 15096 2017-09-19 12:55:19Z

Irgend wer eine Idee was das sein könnte?

Danke,
crispyduck

betateilchen

Zitat von: crispyduck am 02 Januar 2018, 14:59:26
configDB.pm 15096 2017-09-19 12:55:19Z

Diese Datei hat damit nix zu tun, die Attribute werden über 98_configdb.pm verwaltet ;)

Zitat von: crispyduck am 02 Januar 2018, 14:59:26
Irgend wer eine Idee was das sein könnte?

Ja, da hat sich was in perl verändert, und ich muss eine entsprechende Anpassung machen. Muss ich mir bei Gelegenheit in Ruhe anschauen.

Auf meinem Testsystem ist das Verhalten:


  • Beim Versuch des Löschens, wird der Attributwert zwar gelöscht, aber das Attribut bleibt ohne Wert gespeichert.
  • Anlegen und Ändern funktioniert aber problemlos.

Tipp 1: anstatt das Attribut deleteimported zu setzen und dann mit "fileimport "zu arbeiten, kannst Du auch direkt "filemove" verwenden.

Tipp 2: wenn Du ein Attribut setzt, solltest Du danach nicht mit "configdb list" prüfen, ob es vorhanden ist, sondern mit "configdb attr".
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

crispyduck

Danke für die schnelle Antwort!

Ja, deleteimported brauche ich eh nicht, war jetzt nur ein Bsp. was bei mir auch nicht geht.

Ich hatte das eigentlich irgendwann einmal gesetzt und wollte es jetzt nur löschen, da ist mir dann aufgefallen das es nicht geht.
Bitte nicht steinigen; hab es dann einfach aus der DB gelöscht.  ;)

Ansonsten verhält es sich bei meiner Installation so das ich configDB Attribute weder setzen, ändern noch löschen kann.

Bekomme zwar die Bestätigung das es gesetzt/gelöscht wurde, aber ein anschließendes configdb attr ist unverändert und auch die Einträge in der DB selbst sind in allen gespeicherten config Versionen unverändert.

Bin beruhigt zu wissen das sich da irgendwo was geändert hat und es ein allgemeines Problem damit geben dürfte und nicht nur bei mir was schief läuft.  ;D

Brauche es jetzt auch nicht. Solltest du dir das mal ansehen stelle ich mich gerne zum Testen zur Verfügung, bzw. wenn ich sonst irgendwie was dazu beitragen kann bitte bescheid geben.

Danke dir!
crispyduck

betateilchen

Nochmal: mit der Datenbank selbst haben die Attribute nichts zu tun.

Zitat von: crispyduck am 02 Januar 2018, 16:18:21
Bekomme zwar die Bestätigung das es gesetzt/gelöscht wurde, aber ein anschließendes configdb attr ist unverändert

Setzen, Verändern und Löschen von Attributen passiert innerhalb des Arbeitsspeichers des laufenden Systems und überhaupt nicht auf der Datenbank. Es werden einfach Variablenwerte in einem hash verändert und die hash-Werte werden ausgegeben.

Was im Moment tatsächlich problematisch ist, ist alleine das Löschen eines solchen Attributes. Dieses Problem kann ich bei mir - als einziges Problem - nachvollziehen. Aber dafür habe ich bereits eine Lösung im Testbetrieb.



Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

>> configdb attr
configdb attr dumpPath /tmp
configdb attr maxversions 5

>> configdb attr heuteIst Dienstag
attribute heuteIst set to value Dienstag

>>configdb attr
configdb attr dumpPath /tmp
configdb attr heuteIst Dienstag
configdb attr maxversions 5

>> configdb attr heuteIst immerNochDienstag
attribute heuteIst set to value immerNochDienstag

>> configdb attr
configdb attr dumpPath /tmp
configdb attr heuteIst immerNochDienstag
configdb attr maxversions 5

>> configdb attr heuteIst
attribute heuteIst deleted

>> configdb attr
configdb attr dumpPath /tmp
configdb attr maxversions 5

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

crispyduck

Zitat von: betateilchen am 02 Januar 2018, 18:24:17
Setzen, Verändern und Löschen von Attributen passiert innerhalb des Arbeitsspeichers des laufenden Systems und überhaupt nicht auf der Datenbank. Es werden einfach Variablenwerte in einem hash verändert und die hash-Werte werden ausgegeben.

Stimmt, ist logisch, wie auch alle anderen attribute, unabhängig davon ob die config in der db oder in files gespeichert wird.

Keine Ahnung was bei mir anders ist, aber ich kann z.B. das Attribut maxversions weder ändern noch löschen. Ebenso kann ich kein anderes Attribut wie z.B. dumpPath hinzufügen.

Hab das gerade nocheinmal durchprobiert.

Komisch das es sich bei mir anders verhält, aber Ich warte einfach mal deine Änderungen ab, vielleicht geht es dann auch wieder bei mir.

Danke,
crisyduck

crispyduck

Hallo nochmal!

Vergiss was ich in den vorhergehenden Posts geschrieben habe, es verhält sich jetzt genau so wie bei dir.

Keine Ahnung was vorher los war, hab es jetzt gerade nochmal vom Smartphone getestet und jetzt ist es so wie du es sagst, setzen, ändern,... geht, und beim löschen wird lediglich das value gelöscht.

Da ich mir gerade wieder die Attribute angesehen habe, was ist eigentlich mit dem attr useCache, ist dies immer noch experimental? Welche vor/nachteile bringt dies bei vielen Files in der DB, weshalb wurde dies entwickelt?

Danke,
crispyduck

betateilchen

vegiß das useCache.

Und der Rest: Popcorn... :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

crispyduck


betateilchen

Das Löschen sollte ab dem morgigen Update wieder funktionieren.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!