Pagina 2 di 2
Re: Bug con il server Wapt 2.2
Pubblicato: 20 aprile 2022 - 15:34
di sfontenau
Questo aiuta sicuramente!
Potete fornirmi la versione del database? È disponibile sull'interfaccia web del server WAPT
Re: Bug con il server Wapt 2.2
Pubblicato: 20 aprile 2022 - 15:46
di guigeek
Versione di distribuzione WAPT: 2.2.1.11899
Stato DB: OK (2.0.8.0)
Re: Bug con il server Wapt 2.2
Pubblicato: 20 aprile 2022 - 17:51
di sfontenau
Ok, a quanto pare la base è stata aggiornata in modo errato:
Se lo eseguiamo sul server, dovrebbe essere migliore: (se possibile, fare prima uno snapshot del server)
Codice: Seleziona tutto
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());"
Re: Bug con il server Wapt 2.2
Pubblicato: 21 aprile 2022 - ore 9:00
di guigeek
Ho questo errore qui:
2022-04-21 08:59:34,590 INFO Migrazione da 2.0.5.0 a 2.0.8
2022-04-21 08:59:34,600 INFO Migrazione da 2.0.8.0 a 2.1.0
2022-04-21 08:59:34,600 INFO Correzione del tipo di colonna per created_by e updated_by su tutte le tabelle
Traceback (most recent call last):
File "/opt/wapt/lib/python3.8/site-packages/peewee.py", riga 3144, in execute_sql
cursor.execute(sql, params or ())
psycopg2.errors.UniqueViolation: impossibile creare l'indice univoco "wsusupdates_pkey"
DETAIL: Chiave (update_id)=(13fe64fa-334d-4d6a-8033-6f9a8fbe1307_200) è duplicato.
Durante la gestione dell'eccezione di cui sopra, si è verificata un'altra eccezione:
Traceback (chiamata più recente):
File "
File "/opt/wapt/waptserver/model.py", riga 2854, in upgrade_db_structure
migrate(*opes)
File "/opt/wapt/lib/python3.8/site-packages/playhouse/migrate.py", riga 886, in migrate
operation.run()
File "/opt/wapt/lib/python3.8/site-packages/playhouse/migrate.py", riga 164, in run
self._handle_result(method(*self.args, **kwargs))
File "/opt/wapt/lib/python3.8/site-packages/playhouse/migrate.py", riga 153, in _handle_result
self.execute(result)
File "/opt/wapt/lib/python3.8/site-packages/playhouse/migrate.py", riga 149, in execute
self.migrator.database.execute(node)
File "/opt/wapt/lib/python3.8/site-packages/playhouse/postgres_ext.py", riga 490, in execute
cursor = self.execute_sql(sql, params, commit=commit)
File "/opt/wapt/lib/python3.8/site-packages/peewee.py", riga 3151, in execute_sql
self.commit()
File "/opt/wapt/lib/python3.8/site-packages/peewee.py", riga 2917, in __exit__
reraise(new_type, new_type(exc_value, *exc_args), traceback)
File "/opt/wapt/lib/python3.8/site-packages/peewee.py", riga 190, in reraise
raise value.with_traceback(tb)
File "/opt/wapt/lib/python3.8/site-packages/peewee.py", riga 3144, in execute_sql
cursor.execute(sql, params or ())
peewee.IntegrityError: impossibile creare un indice univoco "wsusupdates_pkey"
DETTAGLI: la chiave (update_id)=(13fe64fa-334d-4d6a-8033-6f9a8fbe1307_200) è duplicata.
Re: Bug con il server Wapt 2.2
Pubblicato: 27 aprile 2022 - 8:50
di guigeek
Hai idea di quale potrebbe essere il problema?
Re: Bug con il server Wapt 2.2
Pubblicato: 27 aprile 2022 - 11:09
di dcardon
Ciao guigeek,
Potresti inviare la seguente richiesta?
Codice: Seleziona tutto
DELETE FROM wsusupdates a USING wsusupdates b WHERE a.created_on < b.created_on AND a.update_id = b.update_id;
Quindi riavviare l'aggiornamento del database come indicato in precedenza da Simon?
Sinceramente,
Denis
Re: Bug con il server Wapt 2.2
Pubblicato: 27 aprile 2022 - 11:18
di guigeek
Sempre lo stesso...
2022-04-27 11:17:19,287 INFO Correggi il tipo di colonna per created_by e updated_by su tutte le tabelle
Traceback (chiamata più recente):
File "/opt/wapt/lib/python3.8/site-packages/peewee.py", riga 3144, in execute_sql
cursor.execute(sql, params or ())
psycopg2.errors.UniqueViolation: impossibile creare l'indice univoco "wsusupdates_pkey"
DETTAGLI: La chiave (update_id)=(bb49cc19-8847-4986-aa93-5e905421e55a_103) è duplicata.
Durante la gestione dell'eccezione precedente, si è verificata un'altra eccezione:
Traceback (chiamata più recente):
File "
File "/opt/wapt/waptserver/model.py", riga 2854, in upgrade_db_structure
migrate(*opes)
File "/opt/wapt/lib/python3.8/site-packages/playhouse/migrate.py", riga 886, in migrate
operation.run()
File "/opt/wapt/lib/python3.8/site-packages/playhouse/migrate.py", riga 164, in run
self._handle_result(method(*self.args, **kwargs))
File "/opt/wapt/lib/python3.8/site-packages/playhouse/migrate.py", riga 153, in _handle_result
self.execute(result)
File "/opt/wapt/lib/python3.8/site-packages/playhouse/migrate.py", riga 149, in execute
self.migrator.database.execute(node)
File "/opt/wapt/lib/python3.8/site-packages/playhouse/postgres_ext.py", riga 490, in execute
cursor = self.execute_sql(sql, params, commit=commit)
File "/opt/wapt/lib/python3.8/site-packages/peewee.py", riga 3151, in execute_sql
self.commit()
File "/opt/wapt/lib/python3.8/site-packages/peewee.py", riga 2917, in __exit__
reraise(new_type, new_type(exc_value, *exc_args), traceback)
File "/opt/wapt/lib/python3.8/site-packages/peewee.py", riga 190, in reraise
raise value.with_traceback(tb)
File "/opt/wapt/lib/python3.8/site-packages/peewee.py", riga 3144, in execute_sql
cursor.execute(sql, params or ())
peewee.IntegrityError: impossibile creare un indice univoco "wsusupdates_pkey"
DETTAGLI: la chiave (update_id)=(bb49cc19-8847-4986-aa93-5e905421e55a_103) è duplicata.
Re: Bug con il server Wapt 2.2
Pubblicato: 27 aprile 2022 - 12:01
di dcardon
Quindi, dopo aver indagato con guigeek, sembra che ci siamo imbattuti in un bug di postgres [1]. Per risolverlo, dobbiamo eliminare l'indice per vedere il duplicato, pulirlo e quindi reinserire l'indice/fkey.
Codice: Seleziona tutto
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);
Grazie a guigeek per la sessione di debug (e sono ancora piuttosto perplesso da questo bug di postgres...)
Denis
[1] Di recente sono state apportate correzioni per i danneggiamenti dell'indice
https://www.postgresql.org/docs/release/9.6.24/ "Inoltre, sono stati rilevati diversi bug che potrebbero aver causato la corruzione degli indici, come spiegato nelle prossime voci del changelog. Se uno di questi casi si applica al tuo caso, ti consigliamo di reindicizzare gli indici potenzialmente interessati dopo l'aggiornamento."