Projekt

Allgemein

Profil

Fehler #275

Löschen von DMS-Anhängen wirft Fehler

Von Jan Büren vor mehr als 7 Jahren hinzugefügt. Vor mehr als 7 Jahren aktualisiert.

Status:
Gelöst
Priorität:
Normal
Zugewiesen an:
Martin Helmling
Zielversion:
Beginn:
20.07.2017
Abgabedatum:
% erledigt:

100%

Geschätzter Aufwand:

Beschreibung

Fehlermeldung:
no file found in backend or configuration to filesystem is wrong at SL/File/Backend/Filesystem.pm line 88.

Reproduzierbar mit:

Artikel anlegen.
Dokument hochladen.
Dokument löschen.

Buff

Mandantenkonfig:
Dateimanagement: EIN
Dateispeicher: Dateien


Dateien

mandantenkonfiguration.png (60,3 KB) mandantenkonfiguration.png Mandantenkonfiguration Jan Büren, 20.07.2017 17:04

Zugehörige Revisionen

Revision cff4d333 (diff)
Von Martin Helmling martin.helmling@octosoft.eu vor mehr als 7 Jahren hinzugefügt

FileManagement: Konsistenzprüfung zwischen Backend und Datenbank, hier Backend Filesystem

Das script 'scripts/sync_files_from_backend.pl' prüft, ob die Dateien im Backend noch vorhanden sind.
Dabei wird nach der aktuellsten Version gesucht, ist diese vorhanden ist ok,
ist diese nicht vorhanden werden die Versionen davor gesucht und ggf. die Version in der DB heruntergesetzt.
Ist keine Dateimehr vorhanden wird der Datenbankrecord gelöscht.

fixt #275

Historie

#1

Von Jan Büren vor mehr als 7 Jahren aktualisiert

Es sieht danach aus, dass Löschen die Version hochzählt.

Es wäre zusätzlich schön mehr Info an der Oberfläche zu erhalten - Wenn schon Fehler dann bitte mit schnellere Hilfe zur Selbsthilfe.

Der Fehler ist in get_mtime, wenn ich das die leicht erweitere, erhalte ich immerhin:

die "no file found in backend or configuration to filesystem is wrong $path" if !-f $path;

Und siehe da:
/usr/local/src/kivitendo-jan/kivi_documents/1/0003/3/3_1

Meine Vermutung ist jetzt dass das Löschen die Versionsnummer hochzieht.
get_mtime macht ein "die" mit solch einer Meldung und behauptet das DMS ist falsch konfiguriert?

Der Check wäre an einer anderen Stelle sicherlich besser aufgehoben.
Wünschenswert wäre: "Cannot check modified time for file blahbluhblah"

Das ist bestimmt nur ein kleiner Logik-Fehler weiter am Anfang des Features

#3

Von Martin Helmling vor mehr als 7 Jahren aktualisiert

  • Status wurde von Neu zu In Bearbeitung geändert
  • Zugewiesen an wurde auf Martin Helmling gesetzt
  • Zielversion wurde auf 3.5 gesetzt

Der Fehler tritt bei mir nur auf wenn DEBUG ausgeschaltet ist. Der Zugriff auf die Methode file.mtime_as_timestamp_s im HTML template
löst den Fehler aus beim refresh der vorhandenen Dateien. Hier wird die gelöschte Datei versucht auch darzustellen.

#4

Von Martin Helmling vor mehr als 7 Jahren aktualisiert

  • Status wurde von In Bearbeitung zu Erledigt geändert
  • % erledigt wurde von 0 zu 100 geändert

Hier war ein return 1 im Code verschwunden

#5

Von Jan Büren vor mehr als 7 Jahren aktualisiert

  • Status wurde von Erledigt zu In Bearbeitung geändert
  • Zielversion wurde von 3.5 zu 3.5.1 geändert
  • % erledigt wurde von 100 zu 80 geändert

Hi,
ok bei Neuanlegen von Artikeln tritt der Fehler jetzt nicht mehr auf.

Wie ist dein Plan für die Migration der korrupten Datensätze?

Also ich kann jetzt bei dem Artikel wo der Fehler auftrat die Funktion Dateianhang leider gar nicht mehr verwenden.

Die Fehlermeldung von oben bleibt bestehen, die ist immer noch nicht klar und verursacht beim kivi-Admin unnötigte Mehrarbeit:
Hey, ich hab das Backend sauber konfiguriert - Welche Datei kann der nicht öffnen?

#6

Von Jan Büren vor mehr als 7 Jahren aktualisiert

Mit c5dc49746255, hat der Admin jetzt mehr Analyse-Möglichkeiten.

psql
$ delete from files where id = $file.id;

Danach ist der inkosistente Zustand behoben und es können wieder Dateianhänge hinzugefügt werden.

Ich würde auch gar nicht davon ausgehen, dass Dateien nicht korrupieren oder verschwinden und dementsprechend wäre ein DMS Konsistenz-Check prinzipiell auch sinnvoll.

#7

Von Anonym vor mehr als 7 Jahren aktualisiert

  • Status wurde von In Bearbeitung zu Gelöst geändert
  • % erledigt wurde von 80 zu 100 geändert

Status geändert durch Changeset kivitendo-erp|commit:cff4d3332201b41a504878734475f7c9328a15be.

Auch abrufbar als: Atom PDF