[RISOLTO] bug con il server wapt 2.2

Domande sul server WAPT / Richieste e assistenza relative al server WAPT
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

20 aprile 2022 - 15:34

Questo aiuta sicuramente!

Potete fornirmi la versione del database? È disponibile sull'interfaccia web del server WAPT

Codice: Seleziona tutto

Statut de la base : OK (2.2.5.1)
Avatar utente
guigeek
Messaggi: 147
Registrazione: 21 novembre 2017 - 21:21

20 aprile 2022 - 15:46

Versione di distribuzione WAPT: 2.2.1.11899
Stato DB: OK (2.0.8.0)
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

20 aprile 2022 - 17:51

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());"
Avatar utente
guigeek
Messaggi: 147
Registrazione: 21 novembre 2017 - 21:21

21 aprile 2022 - 9:00

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.
Avatar utente
guigeek
Messaggi: 147
Registrazione: 21 novembre 2017 - 21:21

27 aprile 2022 - 8:50

Hai idea di quale potrebbe essere il problema?
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

27 aprile 2022 - 11:09

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
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
Avatar utente
guigeek
Messaggi: 147
Registrazione: 21 novembre 2017 - 21:21

27 aprile 2022 - 11:18

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.
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

27 aprile 2022 - 12:01

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."
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
Bloccato