Service 'consistency check'
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.