Skip to content

Commit

Permalink
Add logs for data broken of comment review (go-gitea#27326)
Browse files Browse the repository at this point in the history
  • Loading branch information
lunny authored and GiteaBot committed Sep 29, 2023
1 parent 7ea7f2b commit 95b9526
Showing 1 changed file with 9 additions and 27 deletions.
36 changes: 9 additions & 27 deletions models/issues/comment_list.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
repo_model "code.gitea.io/gitea/models/repo"
user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/container"
"code.gitea.io/gitea/modules/log"
)

// CommentList defines a list of comments
Expand Down Expand Up @@ -422,37 +423,18 @@ func (comments CommentList) loadReviews(ctx context.Context) error {

reviewIDs := comments.getReviewIDs()
reviews := make(map[int64]*Review, len(reviewIDs))
left := len(reviewIDs)
for left > 0 {
limit := db.DefaultMaxInSize
if left < limit {
limit = left
}
rows, err := db.GetEngine(ctx).
In("id", reviewIDs[:limit]).
Rows(new(Review))
if err != nil {
return err
}

for rows.Next() {
var review Review
err = rows.Scan(&review)
if err != nil {
_ = rows.Close()
return err
}

reviews[review.ID] = &review
}
_ = rows.Close()

left -= limit
reviewIDs = reviewIDs[limit:]
if err := db.GetEngine(ctx).In("id", reviewIDs).Find(&reviews); err != nil {
return err
}

for _, comment := range comments {
comment.Review = reviews[comment.ReviewID]
if comment.Review == nil {
if comment.ReviewID > 0 {
log.Error("comment with review id [%d] but has no review record", comment.ReviewID)
}
continue
}

// If the comment dismisses a review, we need to load the reviewer to show whose review has been dismissed.
// Otherwise, the reviewer is the poster of the comment, so we don't need to load it.
Expand Down

0 comments on commit 95b9526

Please sign in to comment.