Service 'consistency check'

enaio® 11.10 »

Der Service 'consistency check' stellt die Konsistenz der Daten der Elasticsearch-Datenbank sicher, so dass manuelle Eingriffe direkt in Elasticsearch nicht mehr erforderlich sind.

Um festzustellen, ob Renditions und Volltextverarbeitung erfolgreich waren oder fehlgeschlagen sind, wird die Daten der Tabelle 'osftslog' aus der enaio®-Datenbank verwendet.

Die aktuellen Hauptfunktionen des Service 'consistency check':

  • Anzeigen von Daten der Tabelle 'osftslog' und erneutes Verarbeiten fehlgeschlagener Jobs.
  • Neuindizierung von Elasticsearch-Indexen.
  • Vergleich von Einträgen zwischen Elasticsearch- und enaio®-Datenbanken anhand der Objekt-ID und Auslösen einer erneuten Verarbeitung, falls Unterschiede vorliegen.

Zugriff auf die Benutzeroberfläche

Auf den Service 'consistency check' kann über enaio® services-admin zugegriffen werden oder direkt über folgende URL: http://<service-manager-admin-IP>:<port>. Standardport: 8047.

Die Navigationsleiste besteht aus fünf Registerkarten:

  • Jobs: Eine Liste der Jobs des Service 'consistency check'.
  • Failed: Zeigt eine Liste der fehlgeschlagenen Jobs. Die entsprechenden Jobs haben den Status 'failed' in der Tabelle 'osftslog' und sind mindestens eine Stunde alt.
  • Elasticsearch: Zeigt den aktuellen Status der verbundenen Elasticsearch-Datenbank an und ermöglicht es, Elasticsearch-Indizes neu zu indizieren.
  • Object: Ermöglicht es, Einträge für Objekte in den Datenbanken von Elasticsearch und enaio® zu vergleichen und Objekte neu zu verarbeiten.
  • Swagger: Zugriff auf die API des Service 'consistency check'.

Registerkarte 'Jobs'

Auf der Registerkarte können entweder alle aktiven Jobs oder alle Jobs angezeigt werden. Wenn ein Job markiert wird, dann werden die entsprechenden Job-Daten angezeigt. Die Ansicht kann aktualisiert werden.

Jobs können periodisch im Hintergrund laufen, um Daten zu verwalten. Sie können den Status 'unfinished' oder 'finished' haben.

Angezeigt werden Informationen des Jobs. Der Job-Typ ist entweder 'hotfix' oder 'update':

  • Hotfix

    Wiederholt ausgeführte Jobs, beispielsweise der Job 'failed index job processing und der Job 'parent data updates' des Services 'index'.

  • Update

    Einmalig ausgeführte Jobs. Diese Jobs werden ganz oder teilweise bis zur Fertigstellung ausgeführt, beispielsweise Jobs zur Reindexierung.

    Die Fertigstellung wird durch einen Enddatum als Zeitstempel und ein Ergebnis gekennzeichnet.

Aktuell verfügbare Jobs

Automatisch ausgeführte Jobs:

  • failed index job processing

    Hotfix-Job des Service 'consistency check', der periodisch aufgeführt wird. Der Job prüft 'flag2' in der Tabelle 'osftslog'. Wenn unfertige oder fehlgeschlagene Indexierungs-Jobs vorliegen, dann werden sie zur erneuten Verarbeitung gesendet.

  • failed rendition job processing

    Hotfix-Job des Service 'consistency check', der periodisch aufgeführt wird. Der Job prüft 'flag2' in der Tabelle 'osftslog'. Wenn unfertige oder fehlgeschlagene Rendition-Jobs vorliegen, dann werden sie zur erneuten Verarbeitung gesendet.

  • customer user addon fields re-index job

    Update-Job des Service 'consistency check', der periodisch bis zum Abschluss aufgeführt wird. der Job konvertiert eine Zeichenkette mit durch Semikolon getrennten Begriffen in ein Array in bestimmten AddOn-Feldern.

  • multi selection catalogue fields re-index job

    Update-Job des Service 'consistency check', der periodisch bis zum Abschluss aufgeführt wird. der Job konvertiert eine Zeichenkette mit durch Semikolon getrennten Begriffen in ein Array in bestimmten Katalog-Feldern.

Einmalig ausführbare Jobs:

  • (re)creation of autocomplete index

    Manuell ausgeführter Job des Services 'index'. Der Job verarbeitet enaio®-Indexdaten und erstellt und aktualisiert Indexdaten der Autovervollständigung.

  • (re)creation of autocomplete index

    Update-Job des Services 'migration', der während einer Volltext-Migration ausgeführt wird. Der Job überträgt die Indexdaten der Autovervollständigung aus dem früheren Elasticsearch oder verarbeitet, bei enaio®-Version vor 9.10, die enaio®-Indexdaten und erstellt und aktualisiert die Indexdaten der Autovervollständigung.

  • re-index elasticsearch index job

    Hotfix-Job des Service 'consistency check', der manuell ausgeführt wird. Der Job indiziert den bestehenden Index neu und setzt danach den Alias auf den neu erstellten Index.

  • check re-indexing job

    Update-Job des Services 'migration', der während einer Volltext-Migration ausgeführt wird. Der Job prüft und überträgt eventuell fehlende Daten vom früheren zum aktuellen Elasticsearch.

  • re-indexing job

    Update-Job des Services 'migration', der während einer Volltext-Migration ausgeführt wird. Der Job überträgt und teilweise konvertiert Daten vom früheren zum aktuellen Elasticsearch.

  • parent data update

    Hotfix-Job des Service 'index', der per Anfrage aus der CP-Warteschlange ausgeführt wird. Wenn Standortdaten geändert werden, dann werden alle betroffenen übergeordneten Daten in allen Objekten aktualisiert.

Ausführung automatischer Jobs

Folgende automatische Jobs können abhängig von der Datenkonsistenz laufen:

  • failed index job processing, failed rendition job processing

Folgende automatische Jobs können abhängig von der Datenkonsistenz laufen, nachdem eine Datenmigration beendet ist:

  • failed index job processing, failed rendition job processing, customer user addon fields re-index job, multi selection catalogue fields re-index job

Während der Migration laufen keine automatischen Jobs.

Batchverarbeitung

Zur Steuerung der Systemauslastung kann die Batchgröße über die Konfigurationsdatei ccservice-prod.yml aus dem Verzeichnis \config von enaio® service-manager angepasst werden.

Die Batchgröße steuert, wie viele fehlerhafte Objekte gleichzeitig zur Verarbeitung in die CPB-Queue gelegt werden.

Parameter: osfts.scrollsize, Standard-Wert: 500

Registerkarte 'Failed'

Die Registerkarte 'Failed' zeigt alle fehlerhaften Jobs aus der Tabelle 'osftslog' der enaio®-Datenbank an.

Die Ansicht kann über die enaio® Objekt-ID und nach Datum und Zeitraum gefiltert werden. Datumsformat: yyyyMMdd oder yyyy-MM-dd. Die Ansicht muss nach Eingaben über Refresh aktualisiert werden.

Anzeigt werden maximal 1000 Einträge. Die angezeigten Einträge sind mindestens eine Stunde alt, um Konflikte durch Zugriffe auf laufende Prozesse zu vermeiden.

Die Spalte Flag2 zeigt folgende Fehlernummern:

  • Fehlernummern kleiner als 1000 verweisen auf Indexierungs-Fehler.

  • Fehlernummern größer als 1000 verweisen auf Rendition-Fehler.

Flag2 Beschreibung
0 Kein Text, Objekt ist ein Register, ein Ordner, ein Dokument ohne Seiten.
1 Alter 'OK-Status', wird nicht mehr gesetzt ab enaio® documentviewer 8.50.
2 Veraltete Fehlernummer, wird nicht mehr gesetzt.
3 Veraltete Fehlernummer, wird nicht mehr gesetzt.
200 Ein Text ist vorhanden, ein Leerstring / Leertext ist gültig.
404 Die ID ist dem Rendition-Service unbekannt, es gibt noch keinen Text.
422 Bei der Textextraktion ist ein Fehler aufgetreten, es wird kein Text geliefert.
500-599 Serverfehler: enaio® server, Tomcat, ABBYY Finereader.
1001 Wenn die Rendition-Strecke beginnt.
1002 Wenn das Dokument in die OCR-Queue übernommen wird.
1003 Wenn das Dokument vom Service 'ocr' abgeholt wird.
1004 Wenn die Verarbeitung erfolgreich abgeschlossen wurde.
1005 Renditions zu diesem Objekt sind gelöscht.
1006 Rendition-Erzeugung mit Fehlern beendet.

Wiederverarbeitung fehlerhafter Jobs

Auf der Registerkarte 'Failed' können Einträge in den Spalten Index und Rendition markiert und über Reprocess erneut verarbeitet werden: Die Objekte werden in die CPB-Queue gelegt.

  • Index

    Objekte werden in Elasticsearch neu indexiert.

    Eine Neuindexierung von Ordnern und Registern führt nicht automatisch zur Neuindexierung enthaltener Dokumente.

  • Rendition

    Wiederverarbeitung der Objekte im Rendition-Service.

    Auf die Wiederverarbeitung im Rendition-Service folgt immer auch eine Neuindexierung in Elasticsearch.

Einträge können ebenfalls über die Fehlernummer markiert werden. Ein Klick auf die Fehlernummer in der Spalte Flag2 markiert alle Einträge mit der gleichen Fehlernummer entsprechend der Fehler in der Spalte Index oder Rendition.

Neuindexierungen und Wiederverarbeitungen im Rendition-Service können die Systemressourcen deutlich beanspruchen. Deshalb sollten Fehler genau analysiert und Fehlerursachen behoben werden, bevor eine größere Anzahl von Objekten erneut verarbeitet werden.

Registerkarte 'Elasticsearch'

Über die Registerkarte 'Elasticsearch' kann der Status von Elasticsearch eingesehen werden und können spezifische Elasticsearch-Indexe reindexiert werden.

Reindexierung in Elasticsearch

Für eine Reindexierung wählen Sie aus der Liste einen Elasticsearch-Index.

Elasticsearch-Indexe:

  • autocomplete
    Daten für die Autovervollständigung
  • enaioblue
    Alle Volltextdaten
  • fieldinfo
    Daten der Indexdatenfelder
  • locationinfo
    Standortdaten
  • systeminfo
    Daten der Jobverarbeitung laufender und beendeter Jobs, Hotfix-Jobs und Update-Jobs
  • tmp
    Objekt-IDs von Objekten, deren übergeordnete Daten aktualisiert werden müssen
  • searchlog
    Daten über angeforderte Suchen des Services 'search'

Die Reindexierung wird über Reindex gestartet:

  • Reindexierungen werden asynchron ausgeführt.

  • Reindexierungen können Zeit beanspruchen und auf der Registerkarte 'Jobs' über Active Jobs eingesehen werden.

  • Bei Fehlern wird eine Fehlermeldung angezeigt.

  • Nach einer erfolgreichen Reindexierungen wird die Registerkarte 'Jobs' geöffnet.

  • Eine mehrfache Reindexierung desselben Index ist möglich. Sie erfolgt jedoch nicht parallel, sondern sequentiell.

  • Die Benennung des Indexes wird vom Service verwaltet und erfolgt in einem sequentiellen Format: Indexname + „“ + Sequenznummer. Sobald alle Daten verschoben worden sind, wird der alte Index gelöscht und der neue mit einem Alias versehen: Indexname ohne „“ und Sequenznummer.

Registerkarte 'Object'

Über die Registerkarte 'Object' kann ein Vergleich der Daten eines Objekts zwischen der enaio®-Datenbank und den Daten in Elasticsearch durchgeführt werden.

Für einen Vergleich müssen die Services 'consistency check' und 'index' in derselben Discovery Service Zone / Cluster laufen.

Für den Vergleich wird einer enaio®-Objekt-ID eingegeben und der Vergleich über Compare ausgeführt. Wenn keine Unterschiede vorliegen, dann wird kein Unterschied angezeigt.

Über die Registerkarte 'Object' und Reprocess kann ein Objekt in Elasticsearch neuindexiert werden oder zur Wiederverarbeitung an den Rendition-Service geleitet werden.

Bei Fehlern wird eine Fehlermeldung angezeigt.