Skip to content
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

Prevent deadlock in create issue #17970

Merged
merged 2 commits into from
Dec 13, 2021

Conversation

zeripath
Copy link
Contributor

When we have a transaction - queries to tables already queried must be queried within
that transaction.

repo.IsTimeTrackerEnabled() called repo.GetUnit() meaning that issue.loadAttributes
causes a deadlock.

Signed-off-by: Andrew Thornton art27@cantab.net

When we have a transaction - queries to tables already queried must be queried within
that transaction.

repo.IsTimeTrackerEnabled() called repo.GetUnit() meaning that issue.loadAttributes
causes a deadlock.

Signed-off-by: Andrew Thornton <art27@cantab.net>
@zeripath zeripath added type/bug issue/critical This issue should be fixed ASAP. If it is a PR, the PR should be merged ASAP backport/v1.15 labels Dec 13, 2021
@zeripath zeripath added this to the 1.16.0 milestone Dec 13, 2021
@GiteaBot GiteaBot added the lgtm/need 1 This PR needs approval from one additional maintainer to be merged. label Dec 13, 2021
Signed-off-by: Andrew Thornton <art27@cantab.net>
@codecov-commenter
Copy link

Codecov Report

Merging #17970 (b702507) into main (e0118b0) will increase coverage by 0.02%.
The diff coverage is 67.56%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main   #17970      +/-   ##
==========================================
+ Coverage   45.31%   45.33%   +0.02%     
==========================================
  Files         819      819              
  Lines       90833    90863      +30     
==========================================
+ Hits        41162    41195      +33     
+ Misses      43118    43112       -6     
- Partials     6553     6556       +3     
Impacted Files Coverage Δ
modules/context/repo.go 52.88% <50.00%> (+0.12%) ⬆️
models/repo.go 49.85% <70.00%> (+0.60%) ⬆️
models/repo/issue.go 74.07% <75.00%> (+2.07%) ⬆️
models/issue.go 58.97% <100.00%> (ø)
models/repo/repo.go 68.28% <100.00%> (ø)
modules/queue/queue_bytefifo.go 59.28% <0.00%> (-0.60%) ⬇️
routers/api/v1/repo/pull.go 28.83% <0.00%> (-0.52%) ⬇️
services/pull/pull.go 42.19% <0.00%> (+0.40%) ⬆️
models/issue_comment.go 53.04% <0.00%> (+0.56%) ⬆️
modules/queue/workerpool.go 50.00% <0.00%> (+0.76%) ⬆️
... and 4 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 39eb824...b702507. Read the comment docs.

@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Dec 13, 2021
@techknowlogick techknowlogick merged commit eba0786 into go-gitea:main Dec 13, 2021
@zeripath zeripath deleted the fix-deadlock-issue_test branch December 13, 2021 23:19
@lunny
Copy link
Member

lunny commented Dec 14, 2021

Please send backport

zeripath added a commit to zeripath/gitea that referenced this pull request Dec 14, 2021
Backport go-gitea#17970

When we have a transaction - queries to tables already queried must be queried within
that transaction.

repo.IsTimeTrackerEnabled() called repo.GetUnit() meaning that issue.loadAttributes
causes a deadlock.

Signed-off-by: Andrew Thornton <art27@cantab.net>
@lunny lunny added the backport/done All backports for this PR have been created label Dec 15, 2021
zeripath added a commit to zeripath/gitea that referenced this pull request Dec 19, 2021
 ## [1.15.8](https://github.com/go-gitea/gitea/releases/tag/v1.15.8) - 2021-12-19

* BUGFIXES
  * Reset locale on login (go-gitea#18023) (go-gitea#18025)
  * Fix reset password email template (go-gitea#17025) (go-gitea#18022)
  * Fix outType on gitea dump (go-gitea#18000) (go-gitea#18016)
  * Ensure complexity, minlength and isPwned are checked on password setting (go-gitea#18005) (go-gitea#18015)
  * Fix rename notification bug (go-gitea#18011)
  * Prevent double decoding of % in url params  (go-gitea#17997) (go-gitea#18001)
  * Prevent hang in git cat-file if the repository is not a valid repository (Partial go-gitea#17991) (go-gitea#17992)
  * Prevent deadlock in create issue (go-gitea#17970) (go-gitea#17982)
* TESTING
  * Use non-expiring key. (go-gitea#17984) (go-gitea#17985)

Signed-off-by: Andrew Thornton <art27@cantab.net>
@zeripath zeripath mentioned this pull request Dec 19, 2021
lafriks pushed a commit that referenced this pull request Dec 20, 2021
## [1.15.8](https://github.com/go-gitea/gitea/releases/tag/v1.15.8) - 2021-12-19

* BUGFIXES
  * Reset locale on login (#18023) (#18025)
  * Fix reset password email template (#17025) (#18022)
  * Fix outType on gitea dump (#18000) (#18016)
  * Ensure complexity, minlength and isPwned are checked on password setting (#18005) (#18015)
  * Fix rename notification bug (#18011)
  * Prevent double decoding of % in url params  (#17997) (#18001)
  * Prevent hang in git cat-file if the repository is not a valid repository (Partial #17991) (#17992)
  * Prevent deadlock in create issue (#17970) (#17982)
* TESTING
  * Use non-expiring key. (#17984) (#17985)

Signed-off-by: Andrew Thornton <art27@cantab.net>

* Update CHANGELOG.md

Co-authored-by: 6543 <6543@obermui.de>
Chianina pushed a commit to Chianina/gitea that referenced this pull request Mar 28, 2022
@go-gitea go-gitea locked and limited conversation to collaborators Apr 28, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
backport/done All backports for this PR have been created issue/critical This issue should be fixed ASAP. If it is a PR, the PR should be merged ASAP lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. type/bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants