-
-
Notifications
You must be signed in to change notification settings - Fork 5.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Broken queue causes various problems, need to report in self-check #33882
Comments
Maybe this could help your case: #33862 (comment) |
This fixed it! For those who stumble on this in the future: Go to Site Administration --> Monitoring --> Queues Click on Review / Add Workers next to the mirror queue, then click Remove all (I had 9 in the queue before clearing) After doing this I initially received a permission denied error, but this was because I had deleted and recreated my remote repo without recreating the PAT: Once I recreated my PAT, I got a successful sync again. @wxiaoguang thanks for the help! Is this a bug? Should I leave this issue open or go ahead and close? |
It is a bug (explained here #33862 (comment)) But it's difficult to fix. The best approach we could do at the moment is to add the "queue check" to "self check" page to remind users ..... So I think we can leave this open until we have a good "self check" prompt |
By the way, the corruption only occurs in "levelqueue". So you could switch to "redis" queue which won't get stuck 😆 |
Would it be possible to replace levelqueue with something that's less prone to failing? I've been eyeing nats but it's a bit harder to integrate it into queues (with persistence that is) than I originally thought, however it can be embedded into the binary which is why I find worth considering. |
No idea at the moment. Gitea's queue has some special behaviors like "unique queue". IMO making levelqueue could self-heal is a quick approach. |
Description
Sometime while running 1.23.4, the push mirrors to my GitHub repositories stopped synchronizing.
The last known good sync was on Feb 28, 2025, 8:29:30 AM (this was on a mirror configured to sync every 8hrs).
I am using a GitHub personal access token (fine-grained) with Read access to metadata and Read/Write access to contents. The GitHub repo is a public repo. I've attempted to remove the mirror config from the repository and reconfigure it. When configuring, I am using my GitHub username in the username field and my PAT in the password field. I am also selecting the 'Sync when commits are pushed' checkbox.
I've even tried deleting the remote GitHub repo completely and re-creating it. The sync still won't seem to go through. When clicking on 'synchronize now', a banner displays showing me that it is trying to sync (see screenshot), but even after waiting more than 24 hours, the repo never syncs.
I attempted updating to 1.23.5 but still get the same results
I see the following logs in the Docker container:
After noting these logs, I attempted flushing the queues with the
gitea manager
command, however this produces a timeout error:I get the same timeout error when adding the
--timeout flag
(I've gone up to 10m).Gitea Version
1.23.5
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
Git Version
1.23.5
Operating System
Ubuntu 24.04.1 LTS
How are you running Gitea?
Docker container (non-rootless), deployed with custom Ansible playbook. Gitea is behind a reverse proxy (Traefik) and configured for OIDC with Authentik. Playbook below for reference.
Database
SQLite
The text was updated successfully, but these errors were encountered: