action #108125
closedopenqa-worker-cacheservice(-minion) can trigger "UNIQUE constraint failed: mojo_migrations.name at OpenQA/CacheService/Model/Cache.pm line 77."
Description
Observation¶
openqa-worker-cacheservice-minion says:
Mar 10 11:53:38 openqaworker11 openqa-worker-cacheservice-minion[2119]: DBD::SQLite::st execute failed: UNIQUE constraint failed: mojo_migration
s.name at /usr/share/openqa/script/../lib/OpenQA/CacheService/Model/Cache.pm line 77.
More context from journal:
Mar 10 11:53:34 openqaworker11 systemd[1]: Started OpenQA Worker Cache Service Minion.
Mar 10 11:53:38 openqaworker11 openqa-worker-cacheservice-minion[2119]: [2119] [i] Creating cache directory tree for "/v>
Mar 10 11:53:38 openqaworker11 openqa-worker-cacheservice-minion[2119]: DBD::SQLite::st execute failed: UNIQUE constrain>
Mar 10 11:53:38 openqaworker11 openqa-worker-cacheservice-minion[2119]: at /usr/share/openqa/script/../lib/OpenQA/Cache>
Mar 10 11:53:38 openqaworker11 systemd[1]: openqa-worker-cacheservice-minion.service: Main process exited, code=exited, >
Mar 10 11:53:38 openqaworker11 systemd[1]: openqa-worker-cacheservice-minion.service: Unit entered failed state.
Mar 10 11:53:38 openqaworker11 systemd[1]: openqa-worker-cacheservice-minion.service: Failed with result 'exit-code'.
Mar 10 11:53:38 openqaworker11 systemd[1]: openqa-worker-cacheservice-minion.service: Service RestartSec=100ms expired, >
Mar 10 11:53:38 openqaworker11 systemd[1]: Stopped OpenQA Worker Cache Service Minion.
Mar 10 11:53:38 openqaworker11 systemd[1]: Started OpenQA Worker Cache Service Minion.
Updated by okurz over 2 years ago
- Copied from action #108091: Most systemd units should not Want= or Require= network.target (bsc#1196359) size:M added
Updated by okurz over 2 years ago
Mob-programming on openqaworker11 in a tmate session. Our test:
echo "# full-exclusive read access of db version just to make sure" && for i in {1..10000}; do echo "## Run $i" && systemctl stop openqa-worker-cacheservice-minion.service openqa-worker-cacheservice.service && rm -f /var/lib/openqa/cache/cache.sqlite* && systemctl start openqa-worker-cacheservice-minion.service openqa-worker-cacheservice.service && for j in {1..30}; do echo "waiting for sqlite" && test -f /var/lib/openqa/cache/cache.sqlite && break || sleep 1; done && journalctl --since=today _SYSTEMD_UNIT=openqa-worker-cacheservice.service + _SYSTEMD_UNIT=openqa-worker-cacheservice-minion.service | grep -c 'UNIQUE'; done
to reproduce the problem.
Updated by okurz over 2 years ago
- Due date set to 2022-03-24
- Status changed from In Progress to Feedback
Provided an alternative https://github.com/Grinnz/Mojo-SQLite/pull/25 which was merged already meanwhile. Forgot one part and tinita was again very diligent to catch this :) So created https://github.com/Grinnz/Mojo-SQLite/pull/26 . Also suggested to use github actions instead of obsolete Travis CI: https://github.com/Grinnz/Mojo-SQLite/pull/27
Updated by okurz over 2 years ago
All three PRs have been accepted. I asked in https://github.com/Grinnz/Mojo-SQLite/pull/26#issuecomment-1067822492 if a new fixed release can be created for the package.
Updated by livdywan over 2 years ago
okurz wrote:
All three PRs have been accepted. I asked in https://github.com/Grinnz/Mojo-SQLite/pull/26#issuecomment-1067822492 if a new fixed release can be created for the package.
I see no response there. Should we ask specific persons?
Updated by okurz over 2 years ago
- Due date changed from 2022-03-24 to 2022-04-29
I already did so in https://github.com/Grinnz/Mojo-SQLite/pull/26#issuecomment-1067822492 and asked kraih in chat now . I suggest to wait up to 4 weeks and ask again. If there is still no release by then we can provide a patch in the openSUSE downstream package instead.
Updated by okurz over 2 years ago
There is https://github.com/Grinnz/Mojo-SQLite/releases/tag/3.009 and https://build.opensuse.org/request/show/964207 for an update.
Updated by okurz over 2 years ago
- Due date deleted (
2022-04-29) - Status changed from Feedback to Resolved
https://build.opensuse.org/request/show/964986 is the according accepted factory submission. https://build.opensuse.org/package/show/devel:openQA:Leap:15.3/perl-Mojo-SQLite has it already as well. So OSD workers should also have it (haven't actually checked the last step though).