[GELÖST] Fehler mit wapt-Server 2.2

Fragen zum WAPT-Server / Anfragen und Hilfe im Zusammenhang mit dem WAPT-Server
Forumregeln
Community-Forumregeln
* Englischer Support auf www.reddit.com/r/wapt
* Französischer Community-Support ist in diesem Forum verfügbar.
* Bitte kennzeichnen Sie gelöste Themen mit [GELÖST].
* Bitte bearbeiten Sie keine Themen, die mit [GELÖST] markiert sind. Erstellen Sie stattdessen ein neues Thema und verweisen Sie auf das alte.
* Geben Sie die installierte WAPT-Version, die vollständige Versionsnummer und die Build-Nummer (2.2.1.11957 / 2.2.2.12337 / usw.) sowie die Enterprise-/Discovery-Edition an.
* Versionen 1.8.2 und älter werden nicht mehr unterstützt. Fragen zu Version 1.8.2 werden nur beantwortet, wenn sie sich auf ein Upgrade auf eine unterstützte Version (2.1, 2.2 usw.) beziehen.
* Geben Sie das Server-Betriebssystem (Linux/Windows) und die Version (Debian Buster/Bullseye – CentOS 7 – Windows Server 2012/2016/2019) an.
* Geben Sie gegebenenfalls das Betriebssystem des Administrations-/Paketerstellungsrechners und des Rechners mit dem problematischen Agenten an (Windows 7/10/11/Debian 11/etc.).
* Vermeiden Sie es, mehrere Fragen in einem Thema zu stellen, da diese sonst möglicherweise ignoriert werden. Falls mehrere Themen relevant sind, erstellen Sie bitte separate Themen, vorzugsweise nacheinander und nicht gleichzeitig (d. h. vermeiden Sie Spam im Forum).
* Fügen Sie Code-Snippets, Screenshots und andere Bilder direkt in Ihren Beitrag ein. Links zu Pastebin, Bitly und anderen Drittanbieterseiten werden systematisch entfernt.
* Wie in jedem Community-Forum erfolgt die Unterstützung freiwillig durch die Mitglieder. Für kommerziellen Support kontaktieren Sie bitte den Vertrieb von Tranquil IT unter +44 2 40 97 57 55.
Benutzeravatar
Sfonteneau
WAPT-Experte
Nachrichten: 2322
Registriert: 10. Juli 2014 - 23:52 Uhr
Kontakt:

20. April 2022 – 15:34 Uhr

Das hilft auf jeden Fall!

Können Sie die Datenbankversion angeben? Sie ist über die Weboberfläche des WAPT-Servers verfügbar

Code: Alle auswählen

Statut de la base : OK (2.2.5.1)
Benutzeravatar
guigeek
Nachrichten: 147
Anmeldung: 21. November 2017 - 21:21 Uhr

20. April 2022 – 15:46 Uhr

WAPT Deploy-Version: 2.2.1.11899
DB-Status: OK (2.0.8.0)
Benutzeravatar
Sfonteneau
WAPT-Experte
Nachrichten: 2322
Registriert: 10. Juli 2014 - 23:52 Uhr
Kontakt:

20. April 2022 – 17:51 Uhr

Okay, die Basis wurde offenbar fehlerhaft aktualisiert:

Wenn wir das auf dem Server ausführen, sollte es besser sein: (Erstellen Sie nach Möglichkeit vorher einen Snapshot des Servers)

Code: Alle auswählen

cd /opt/wapt && sudo -u wapt /opt/wapt/bin/python3 -c "from waptserver.model import *; from waptserver.config import *; logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s'); setloglevel(logger, 'info'); load_db_config(load_config());  print('Version actuelle: %s' % get_db_version()); wapt_db.connect(); set_db_version('2.0.0'); wapt_db.close(); print(upgrade_db_structure()); print('Version upgradee: %s' % get_db_version());"
Benutzeravatar
guigeek
Nachrichten: 147
Anmeldung: 21. November 2017 - 21:21 Uhr

21. April 2022 – 9:00 Uhr

Hier tritt folgender Fehler auf:

2022-04-21 08:59:34,590 INFO Migration von 2.0.5.0 auf 2.0.8
2022-04-21 08:59:34,600 INFO Migration von 2.0.8.0 auf 2.1.0
2022-04-21 08:59:34,600 INFO Korrektur des Spaltentyps für created_by und updated_by in allen Tabellen
Traceback (letzter Aufruf):
Datei "/opt/wapt/lib/python3.8/site-packages/peewee.py", Zeile 3144, in execute_sql
cursor.execute(sql, params or ())
psycopg2.errors.UniqueViolation: konnte keinen eindeutigen Index "wsusupdates_pkey" erstellen
DETAIL: Schlüssel (update_id)=(13fe64fa-334d-4d6a-8033-6f9a8fbe1307_200) ist doppelt vorhanden.


Während der Behandlung der obigen Ausnahme trat eine weitere Ausnahme auf:

Traceback (letzter Aufruf):
Datei "
Datei "/opt/wapt/waptserver/model.py", Zeile 2854, in upgrade_db_structure
migrate(*opes)
Datei "/opt/wapt/lib/python3.8/site-packages/playhouse/migrate.py", Zeile 886, in migrate
operation.run()
Datei "/opt/wapt/lib/python3.8/site-packages/playhouse/migrate.py", Zeile 164, in run
self._handle_result(method(*self.args, **kwargs))
Datei "/opt/wapt/lib/python3.8/site-packages/playhouse/migrate.py", Zeile 153, in _handle_result
self.execute(result)
Datei "/opt/wapt/lib/python3.8/site-packages/playhouse/migrate.py", Zeile 149, in execute
self.migrator.database.execute(node)
Datei "/opt/wapt/lib/python3.8/site-packages/playhouse/postgres_ext.py", Zeile 490, in execute
cursor = self.execute_sql(sql, params, commit=commit)
Datei "/opt/wapt/lib/python3.8/site-packages/peewee.py", Zeile 3151, in execute_sql
self.commit()
Datei "/opt/wapt/lib/python3.8/site-packages/peewee.py", Zeile 2917, in __exit__
reraise(new_type, new_type(exc_value, *exc_args), traceback)
Datei "/opt/wapt/lib/python3.8/site-packages/peewee.py", Zeile 190, in reraise
raise value.with_traceback(tb)
Datei "/opt/wapt/lib/python3.8/site-packages/peewee.py", Zeile 3144, in execute_sql
cursor.execute(sql, params or ())
peewee.IntegrityError: konnte keinen eindeutigen Index "wsusupdates_pkey" erstellen
DETAIL: Schlüssel (update_id)=(13fe64fa-334d-4d6a-8033-6f9a8fbe1307_200) ist doppelt vorhanden.
Benutzeravatar
guigeek
Nachrichten: 147
Anmeldung: 21. November 2017 - 21:21 Uhr

27. April 2022 – 8:50 Uhr

Irgendeine Idee, woran es liegen könnte?
Benutzeravatar
dcardon
WAPT-Experte
Nachrichten: 1953
Anmeldung: 18. Juni 2014 - 09:58 Uhr
Ort: Saint Sébastien sur Loire
Kontakt:

27. April 2022 - 11:09 Uhr

Hallo guigeek,

Könnten Sie bitte die folgende Anfrage einreichen?

Code: Alle auswählen

DELETE FROM  wsusupdates a  USING wsusupdates b  WHERE a.created_on < b.created_on AND a.update_id = b.update_id; 
Starten Sie dann das Datenbank-Upgrade neu, wie Simon es zuvor vorgeschlagen hat?

Aufrichtig,

Denis
Denis Cardon – Tranquil IT
Teilen Sie Ihre Erfahrungen auf WAPT! Senden Sie uns Ihre Blog- und Artikel-URLs im „Ihre Meinung des Forums, und wir werden sie auf der WAPT-
Benutzeravatar
guigeek
Nachrichten: 147
Anmeldung: 21. November 2017 - 21:21 Uhr

27. April 2022 - 11:18 Uhr

Immer noch dasselbe...

2022-04-27 11:17:19,287 INFO Spaltentyp für created_by und updated_by in allen Tabellen korrigieren
Traceback (letzter Aufruf):
Datei "/opt/wapt/lib/python3.8/site-packages/peewee.py", Zeile 3144, in execute_sql
cursor.execute(sql, params or ())
psycopg2.errors.UniqueViolation: konnte keinen eindeutigen Index "wsusupdates_pkey" erstellen
DETAIL: Schlüssel (update_id)=(bb49cc19-8847-4986-aa93-5e905421e55a_103) ist doppelt vorhanden.


Während der Behandlung der obigen Ausnahme trat eine weitere Ausnahme auf:

Traceback (letzter Aufruf):
Datei "
Datei "/opt/wapt/waptserver/model.py", Zeile 2854, in upgrade_db_structure
migrate(*opes)
Datei "/opt/wapt/lib/python3.8/site-packages/playhouse/migrate.py", Zeile 886, in migrate
operation.run()
Datei "/opt/wapt/lib/python3.8/site-packages/playhouse/migrate.py", Zeile 164, in run
self._handle_result(method(*self.args, **kwargs))
Datei "/opt/wapt/lib/python3.8/site-packages/playhouse/migrate.py", Zeile 153, in _handle_result
self.execute(result)
Datei "/opt/wapt/lib/python3.8/site-packages/playhouse/migrate.py", Zeile 149, in execute
self.migrator.database.execute(node)
Datei "/opt/wapt/lib/python3.8/site-packages/playhouse/postgres_ext.py", Zeile 490, in execute
cursor = self.execute_sql(sql, params, commit=commit)
Datei "/opt/wapt/lib/python3.8/site-packages/peewee.py", Zeile 3151, in execute_sql
self.commit()
Datei "/opt/wapt/lib/python3.8/site-packages/peewee.py", Zeile 2917, in __exit__
reraise(new_type, new_type(exc_value, *exc_args), traceback)
Datei "/opt/wapt/lib/python3.8/site-packages/peewee.py", Zeile 190, in reraise
raise value.with_traceback(tb)
Datei "/opt/wapt/lib/python3.8/site-packages/peewee.py", Zeile 3144, in execute_sql
cursor.execute(sql, params or ())
peewee.IntegrityError: konnte keinen eindeutigen Index "wsusupdates_pkey" erstellen
DETAIL: Schlüssel (update_id)=(bb49cc19-8847-4986-aa93-5e905421e55a_103) ist doppelt vorhanden.
Benutzeravatar
dcardon
WAPT-Experte
Nachrichten: 1953
Anmeldung: 18. Juni 2014 - 09:58 Uhr
Ort: Saint Sébastien sur Loire
Kontakt:

27. April 2022 - 12:01 Uhr

Nach einer Untersuchung mit guigeek sind wir auf einen PostgreSQL-Bug gestoßen [1]. Um ihn zu beheben, müssen wir den Index löschen, um das Duplikat zu finden, es bereinigen und anschließend den Index/Fkey wiederherstellen.

Code: Alle auswählen

ALTER TABLE wsusupdates DROP constraint wsusupdates_pkey cascade;
DELETE FROM  wsusupdates a  USING wsusupdates b  WHERE a.ctid < b.ctid AND a.update_id = b.update_id;
CREATE UNIQUE INDEX  wsusupdates_pkey on wsusupdates(update_id);
ALTER TABLE hostwsus ADD CONSTRAINT  hostwsus_update_id_fkey FOREIGN KEY (update_id) REFERENCES wsusupdates (update_id);
Vielen Dank an guigeek für die Debugging-Sitzung (und ich bin immer noch ziemlich ratlos angesichts dieses PostgreSQL-Bugs...)

Denis

[1] Kürzlich wurden Indexfehler behoben https://www.postgresql.org/docs/release/9.6.24/ „Darüber hinaus wurden mehrere Fehler gefunden, die möglicherweise zu beschädigten Indizes geführt haben, wie in den folgenden Changelog-Einträgen erläutert wird. Sollte einer dieser Fälle auf Sie zutreffen, wird empfohlen, die möglicherweise betroffenen Indizes nach dem Update neu zu indizieren.“
Denis Cardon – Tranquil IT
Teilen Sie Ihre Erfahrungen auf WAPT! Senden Sie uns Ihre Blog- und Artikel-URLs im „Ihre Meinung des Forums, und wir werden sie auf der WAPT-
Gesperrt