Seite 2 von 2

Betreff: Fehler mit Wapt-Server 2.2

Veröffentlicht: 20. April 2022 – 15:34 Uhr
von Sfonteneau
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)

Betreff: Fehler mit Wapt-Server 2.2

Veröffentlicht: 20. April 2022 – 15:46 Uhr
von guigeek
WAPT Deploy-Version: 2.2.1.11899
DB-Status: OK (2.0.8.0)

Betreff: Fehler mit Wapt-Server 2.2

Veröffentlicht: 20. April 2022 – 17:51 Uhr
von Sfonteneau
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());"

Betreff: Fehler mit Wapt-Server 2.2

Veröffentlicht: 21. April 2022 - 9:00 Uhr
von guigeek
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.

Betreff: Fehler mit Wapt-Server 2.2

Veröffentlicht: 27. April 2022 - 8:50 Uhr
von guigeek
Irgendeine Idee, woran es liegen könnte?

Betreff: Fehler mit Wapt-Server 2.2

Veröffentlicht: 27. April 2022 - 11:09 Uhr
von dcardon
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

Betreff: Fehler mit Wapt-Server 2.2

Veröffentlicht: 27. April 2022 - 11:18 Uhr
von guigeek
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.

Betreff: Fehler mit Wapt-Server 2.2

Veröffentlicht: 27. April 2022 - 12:01 Uhr
von dcardon
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.“