Closed lkocman closed 1 year ago
One pattern i noticed in the data is that there's always more than one report in the backlog for the same package. And it's always the older one that has the broken report. To me this suggests that maybe something with the cleanup code for obsolete packages might be going wrong. Perhaps the checkout gets deleted and the weekly reindexing then creates an empty report. After all we are dealing with weeks and months in the backlog here. 🤔
13 reports got corrupted again over the weekend. So now i have a pretty good picture of what is happening there. The cleanup deletes the checkouts for some reason, and then the automatic weekly reindexing can't create new reports afterwards. Leaving them in a corrupted state.
id | state | created
--------+-------+------------------------
334879 | new | 2022-12-14 15:04:31+01
332536 | new | 2022-11-27 13:31:19+01
332505 | new | 2022-11-27 13:30:43+01
333060 | new | 2022-12-02 01:07:35+01
331283 | new | 2022-11-12 15:27:18+01
334861 | new | 2022-12-14 12:28:46+01
332299 | new | 2022-11-24 14:02:06+01
331221 | new | 2022-11-12 10:49:55+01
332669 | new | 2022-11-29 06:09:14+01
330878 | new | 2022-11-09 14:10:36+01
333786 | new | 2022-12-07 17:09:28+01
337933 | new | 2023-01-16 11:11:31+01
331247 | new | 2022-11-12 10:50:29+01
(13 rows)
This turned out to be a rather complex situation that ultimately goes back to the introduction of automatic accepts for factory requests. Life cycle of the package goes something like this:
obs#123
)openSUSE:Factory
)openSUSE:Factory
)obs#124
)openSUSE:Factory
)openSUSE:Factory
product and flags the older one as obsoleteThe system depends a bit too much on the external_link
field for duplicate detection, but it's the best we got for now. I'm now testing a possible fix that will allow the external_link
to be changed from openSUSE:Factory
to obs#...
during step 8. That should theoretically prevent the race condition.
It seems the applied fix has resolved the issue.
Context: Leap has backlog of 60~+ requests not reviewed for over 8 days.
This particular issue was identified by Sebastian Riedl That there were two requests for pocl in the backlog, and one has an Error-0:Yv6G, which means it was empty when checked out from OBS.
legal report should not be empty judging by
Works fine on manual reimport