El dt. 20 de 07 de 2021 a les 11:00 +0200, en/na Michael Calmer va escriure: Hello, I've just opened a bugreport. https://github.com/uyuni-project/uyuni/issues/4011 Thank you for your help on this. regards, Jordi.
Hi
Am Dienstag, 20. Juli 2021, 10:48:27 CEST schrieb Silvio Moioli:
On 20/07/2021 08.51, jordi@priscoelectronica.com wrote:
Since nine days ago I'm observing an error while syncing EPEL 8 repository. This error has appeared on different days with different instances of the same kind (rhnerrata pgsql table constraint violation):
2021/07/06 -> Initial EPEL 8 sync, no errors. All errata in.
2021/07/11 -> first error appears
psycopg2.errors.CheckViolation: new row for relation "rhnerrata" violates check constraint "rhn_errata_adv_status_ck" DETAIL: Failing row contains (8678, FEDORA-EPEL-2021-360b258add, Product Enhancement Advisory, FEDORA-EPEL-2021-360b258add, 200, pending, Fedora EPEL 8, Initial package , rnnoise-0-0.3.20210312git7f449bf.el8, , , 2021-07-09 07:48:35- 02, 2021-07-09 07:48:52-02, null, null, 1, null, updates@fedoraproject.org, 2021-07-10 22:02:40.365219-02, 2021-07-10 22:02:40.365219-02, 2021- 07- 10 22:02:40.365219-02, null).
2021/07/19 -> the same with different data
psycopg2.errors.CheckViolation: new row for relation "rhnerrata" violates check constraint "rhn_errata_adv_status_ck" DETAIL: Failing row contains (8715, FEDORA-EPEL-2021-41eeae14d9, Product Enhancement Advisory, FEDORA-EPEL-2021-41eeae14d9, 200, pending
It seems like there is a new errata status, 'pending', that we did not know. Indeed we have a check that says:
advisory_status VARCHAR(32) NOT NULL DEFAULT('final') CONSTRAINT rhn_errata_adv_status_ck CHECK (advisory_status in ('final', 'stable', 'testing', 'retracted')),
As you can see "pending" is not in the allowed set ('final', 'stable', 'testing', 'retracted').
Michael: is it just a matter of relaxing the check, or do we have to do anything else with that status?
AFAIK we need this also in the Java code as we have an enum with the states there as well. As you know we react on "retracted" with some special handling. The question is: what does "pending" mean? Do you want to see "pending" errata in the metadata for the clients or not?
So we could simply passthru the data like for final, stable or we can do something special.