RHGitaly: CommitService.ListCommitsByRefName
I got a 500 error today on foss.h.n while browsing some pipelines, and it was due to a timeout with this method of CommitService
.
Of course the timeout is probably partly because HGitaly was busy doing something else. Still, if this method was implemented in RHGitaly, it wouldn't happen again.
It seems that RHGitaly now has all the bricks to implement this method, although that remains to be checked. More concerning would be that these ListCommitsBy...
methods are supposed to be deprecated in favor of the generic ListCommits
(much more problematic, we'd need at least DAG ranges) although Gitaly 16.2 does not mark it as deprecated yet (could be an exception in the general trend).
Current frequency breakout of requests served by the reference Python HGitaly on foss.h.n:
TOTAL Requests: 215906
Breakdown:
20.3% TreeEntryRequest (count=43832)
14.6% FindCommitsRequest (count=31560)
10.0% GetTreeEntriesRequest (count=21491)
9.1% LastCommitForPathRequest (count=19730)
8.8% HasLocalBranchesRequest (count=19097)
4.5% GetBlobsRequest (count=9787)
3.6% ListRefsRequest (count=7732)
3.1% DiffStatsRequest (count=6666)
3.0% CommitDiffRequest (count=6410)
2.2% CreateBundleFromRefListRequest (count=4842)
2.2% BackupCustomHooksRequest (count=4842)
2.2% RawBlameRequest (count=4825)
1.8% FindDefaultBranchNameRequest (count=3800)
1.7% FindTagRequest (count=3686)
1.5% CommitDeltaRequest (count=3263)
1.3% ListCommitsByRefNameRequest (count=2878)