Blockierende Einträge aus Verarbeitungswarteschlange löschen

WarteschlangeMitunter bringt das eine oder andere Profil die beteiligten Urchin-Prozesse während der Verarbeitung zum Absturz. Wenn das vorkommt, können die nachfolgenden Einträge in der Warteschlange nicht mehr verarbeitet werden, da Urchin die sequenzielle Abarbeitungsreihenfolge strikt einhält. Unglücklicherweise hilft hier auch kein Systemneustart, da sich eben genau dieser Eintrag hartnäckig in der Datenbank hält, immer wieder in der Warteschlange auftaucht und Urchin davon abhält, die Profile weiter zu verarbeiten.

Wie Sie aus dem unten abgebildeten Screenshot des Urchin Schedulers erkennen können, „hängt“ der Verarbeitungsprozess für das Profil „www.webalytics.de“ und alle weiteren Profile können daher nicht verarbeitet werden. Auch wird die Problematik durch die Warnung, Master- und Slave-Scheduler seien beide deaktiviert.

Es ist somit nötig, diesen Eintrag manuell aus der entsprechenden Tabelle der Urchin-Datenbank zu entfernen. Dieser Vorgang ist ausschließlich Mithilfe der Kommandozeile möglich. Um diese Störung zu beheben, werden zwei Szenarien unterschieden:

  1. Alle Einträge der Verarbeitungswarteschlange sollen entfernt werden
  2. Ausschließlich der störende Eintrag soll entfernt werden

Handelt es sich bei dem störenden Eintrag um ein regelmäßig zu verarbeitendes Profil, ist die vorherige Deaktivierung des dem Profil zugeorneten Aufgabenplaners empfohlen. Danach melden Sie sich per Kommandozeile an der Datenbank an. Kommt bei Ihnen eine MySQL-Datenbank zum Einsatz, geben Sie dazu den folgenden Befehl ein:

mysql –p –u <username> <urchin database>

Ersetzen Sie dabei bitte <username> und <urchin database> durch die passenden Angaben Ihres Systems.

Urchin Scheduler mit blockierendem Eintrag

Szenario 1: alle Einträge entfernen

Möchten Sie alle Warteschlangen-Einträge entfernen, geben Sie folgenden Befehl ein:

DELETE FROM uprofiles_queue;

Szenario 2: einzelnen Eintrag löschen

In diesem Fall müssen Sie zunächst einmal die ID des betroffenen Profils ermitteln. Dies geschieht mit folgendem Befehl:

SELECT uspr_id,ucpr_name FROM uprofiles WHERE ucpr_name LIKE '%<Search String>%';

Dabei steht <Search String> für einen beliebigen Teil des Profilnamens, den Sie aus der Warteschlange entfernen wollen. In unserem Beispiel würde bereits der Search String „webalytics“ ausreichen, um folgende Ausgabe an der Kommandozeile zu erhalten:


mysql> SELECT uspr_id,ucpr_name FROM uprofiles WHERE ucpr_name LIKE '%webalytics%';
+---------+--------------------+
| uspr_id | ucpr_name          |
+---------+--------------------+
|       3 | www.webalytics.de  |
|       4 | webalytics.de      |
+---------+--------------------+
2 rows in set (0.00 sec)


Mihilfe des folgenden Befehls wird dann der entsprechende Eintrag in der Queue gelöscht:

DELETE FROM uprofiles_queue WHERE uspr_id=<Search Result>;

Ersetzen Sie bitte <Search Result> durch die ID aus der ersten Spalte der Ergebnisliste, die dem zu löschenden Eintrag entspricht. Da in unserem Beispiel (siehe Abbildung oben) das Profil „www.webalytcs.de“ stockt, müsste nun korrekterweise die ID 3 gelöscht werden.

Abschließende Tätigkeiten

Nachdem das blockierende Profil erfolgreich aus der Warteschlage entfernt wurde, verlassen Sie die Datenbank und MySQL-Kommandozeile mit dem Befehl exit.

Abschließend muss nun noch sichgestellt werden, dass alle erforderlichen Urchin-Dienste wieder ausgeführt werden. Dazu wird auf der Kommandozeile im Urchin-Verzeichnis folgender Befehl eingegeben:

./bin/urchinctl restart

(wenn Urchin per HTTP erreichbar sein soll) oder

./bin/urchinctl –e restart

(wenn Urchin per HTTPS erreichbar sein soll)

Kommentieren

Follow us:
Abonnieren Sie unseren Blog!
Folgen Sie uns auf Twitter!
Folgen Sie uns auf Facebook!
Folgen Sie uns auf LinkedIn!
Feedburner-Abo
RSS Feed für Reader abonnieren

oder geben Sie Ihre E-Mail-Adresse an:

Kategorien
Archive