Was tun, wenn der Documentviewer-Cache nicht aufgeräumt wird?

Was tun, wenn der Documentviewer-Cache nicht aufgeräumt wird?

Bitte beachten der Documentviewer hat sich in den enaio Versionen sehr weiterentwickelt. Daher die Hinweise für die enaio Version beachten.

Hinweise:

siehe KB-066/09. Es gibt noch keine Bereinigungsstrategie. Die Bereinigung sollte mit Hilfe von Skripten oder nach eigenem Ermessen erfolgen. 

Der Documentviewer räumt nun regelmäßig seinen Cache auf. Dazu geht er einmal alle Verzeichnisse durch und beginnt dann von vorn. Es gibt verschiedene Bereinigungs-Strategien, die man einstellen kann.

Ab enaio 7.10 hat sich die Struktur des Documentviewer-Cache geändert und es werden Sicherungen der Volltextdaten abgelegt (Backup\Text). Ebenso werden Migrationsverzeichnisse im Cache-Verzeichnis abgelegt (sofern sie nicht anders konfiguriert sind), z. Bsp. FTS-ARCHIVE. Daher sollten erst grundlegende Daten geprüft werden. Eventuell ist das Cache gar nicht das größte Verzeichnis sondern Backup\Text.

Ab enaio 10.00 gibt es eine zusätzliche Überwachung. Im Falle, dass die Platte voll ist, setzt sich der Documentviewer in einen ReadOnly-Modus und schreibt und verarbeitet nichts mehr. 
Man kann das Feature auch abschalten (nicht empfohlen).

Dazu die config.properties (RenditionCache) anpassen, siehe auch:
https://help.optimal-systems.com/enaio/v100/admin/administrator/de/dienste/documentviewer.htm

system.checkDiskSpace=false system.minFreeCacheSpaceInMB=30 system.minFreeTempSpaceInMB=30

Bitte beachten:

  • Der Documentviewer erstellt im Laufe der Verarbeitung DEL-Dateien, für alles, was nicht mehr benötigt wird. Immer dann, wenn die Bereinigung auf solche Dateien stößt, werden die zugehörigen Verzeichnisse automatisch entfernt. 

  • Wenn eine gewisse Größe erreicht ist (z. Bsp. > 1 TB), kann es vorkommen, dass es länger als 24 Stunden dauert, bis der Documentviewer einmal durch das Documentviewer-Cache-Verzeichnis gelaufen ist.

  • Es kann auch vorkommen, dass mehr/schneller in das Cache-Verzeichnis geschrieben wird als bereinigt werden kann, z. Bsp. wenn mehrere schreibende Documentviewer vorhanden sind. 

  • Vorsicht auch bei Freigaben und aktuellen Windows-Versionen. U.u. werden die Lösch-Rechte nicht korrekt vererbt. 

  • Standard-Strategie ist nach Größe. Dazu wird beim Start des Services eine heuristische Berechnung ausgeführt. Man kann sie aber ändern auf reelle Größe, siehe KB-69/14. Danach werden alle Änderungen +/- gerechnet (je nachdem, was es für Jobs sind). D.h. jeder Documentviewer kann nur seine Verarbeitung hinzurechnen bzw. abziehen. Sind mehrere schreibende Documentviewer aktiv, kann die Gesamtgröße nicht ermittelt werden. Hier sollte eine andere Bereinigungsstrategie gewählt werden als Standard. 
    zum Nachlesen:
    https://enaiodevelop.atlassian.net/wiki/spaces/PS/pages/21426558
    https://enaiodevelop.atlassian.net/wiki/spaces/PS/pages/21425013

Schritt-für-Schritt-Anleitung

D.h. Größe und Verteilung der Daten prüfen. 

  • Dazu ein Tool eigener Wahl, z. Bsp. TreeSizePortable verwenden und die Plattenplatzverteilung ermitteln lassen. 

  • Prüfen, ob es tatsächlich das Cache-Verzeichnis ist und nicht das TEMP oder ein anderes Verzeichnis (z. Bsp. FTS-Archive oder BACKUP oder ...).

  • prüfen, ob und wie viele DEL-Dateien gibt (*.del).

Bei allen Documentviewern bitte die Konfiguration prüfen:

  • Passt die Einstellung zum Plattenplatz?  
    Häufige Ursache für ein überfülltes Cache ist das belassen der Standardgröße von 500 GB. Die Platte hat nur 200 oder 300 GB. Dort soll aber auch das Documentviewer-Temp und evtl. noch andere Daten abgelegt werden. 

    • Für die Prüfung entweder die Documentviewer-Admin-Seite öffnen oder in die config.properties-Datei des RenditionCache schauen.

    • Beispiel: Es sind 500 GB eingestellt, aber die Platte hat nur 200 GB - empfohlene Größe = 100 GB (da dort noch die Software und das Documentviewer-Temp-Verzeichnis liegen). 

  • Bitte auch prüfen, ob jemand die Konfigurationen angepasst, z. Bsp. config.properties oder auch applicationContext-sor-fs.xml, siehe https://enaiodevelop.atlassian.net/wiki/spaces/PS/pages/21426558
    Wichtig: Bei mehreren Documentviewern wird empfohlen nur bei einen die Bereinigung zu aktivieren und zwar nach Datum.

  • Windows-Rechte prüfen - sind auch Löschrechte für den Dienstbenutzer vergeben? 

    • Dazu Dateiebene und Freigabe (sofern konfiguriert) prüfen! Wurden die Rechte vererbt? 

    • ggfls. als Dienstbenutzer versuchen etwas zu löschen. 

    • Falls eine Platte auf einer NetApp verwendet wird: Ist das ReadOnly-Flag versehentlich aktiviert?

  • Das Verzeichnis ist zu groß, z. Bsp. 5 TB oder die Platte ist zu langsam und das Prüfen+Löschen dauert zu lange.

  • Virenscanner prüfen. Wird der Zugriff oder das Löschen geblockt?

  • Es ist Bereinigung nach Datum eingestellt und in den letzten Tagen/Wochen wurden mehr Dokumente als gewöhnlich erstellt, z. Bsp. Aktivierung neue Importschnittstelle oder Daten-Migration aus anderen Systemen.

  • Es wurde eine Nachindizierung gestartet. Da seit 9.00 keine Mapper-Datenbank mehr existiert, wird nur noch das Documentviewer-Cache geprüft. Wenn die Volltextdaten nicht vorliegen, wird gerendert.

  • Log aktivieren zum Prüfen des Füllstandes und des Durchsatzes

    • siehe KB-68/14 oder KB-122/12. Sinnvoll ist es, ein eigenes Log zu schreiben für die Lösch-Jobs. Dann kann man besser prüfen, ob es überhaupt ausgeführt wird. Falls ja, kann man die Veränderung verfolgen.
      Anleitung: https://enaiodevelop.atlassian.net/wiki/spaces/PS/pages/21439088

    • Das Log osrenditioncache-monitoring.log öffnen und eine Hochrechnung ausführen, wie viel pro Stunde eingefügt wird (bei allen Documentviewers prüfen!). 

  • Je nach Ursache: Löschrechte geben, Virenscanner konfigurieren …
    Backup\Text in ein anderes Verzeichnis verlegen ebenso FTS-ARCHIVE. Dafür aber zwingend alle Documentviewer-Konfigurationen anpassen.

  • Bereinigungsstrategie prüfen/ändern, siehe https://enaiodevelop.atlassian.net/wiki/spaces/PS/pages/21426558

  • Eventuell ist es notwendig, einen weiteren Documentviewer zu installieren, der nur Bereinigung ausführt, also keine CPB-Verarbeitung ausführt und keine Clients bedient.

  • Notfallscript ausführen zum schnellen Schaffen von Plattenplatz
    Achtung: Der Einsatz des Skriptes ist auf eigene Gefahr. OPTIMAL SYSTEMS GmbH übernimmt keine Garantie. 

    1. Dieses Skript herunterladen und in ein Verzeichnis eigener Wahl kopieren:
      Download: DV-Cache.zip  

    2. Skript anpassen: 
      cachePath = Pfad Documentviewer-Cache
      sLogPath = Pfad zum Log 
      zeitraum = Zeitraum in Tagen, der entfernt werden soll, Standardwert = 30 Tage (also alles, was älter ist als dieser Wert, wird entfernt)  
      todo = 0 oder 1 (0 = DEL-Dateien erstellen, 1 = Notfall = direkt löschen)

    3. Skript ausführen (Windows-Admin-Rechte werden benötigt)

 

Wichtig: Wenn mehr als ein schreibender Documentviewer vorhanden ist, muss die Bereinigungs-Strategie umgestellt werden. Bei großen Datenmengen im Documentviewer-Cache-Verzeichnis (ab 1 TB aufwärts) kann es sinnvoll sein, 1 Documentviewer einzurichten, der sich nur um das Bereinigen kümmert. 

Verwandte Artikel