Rate Limit Exception for JIRA-Git integration

Neha Sharma April 3, 2021

Hi everyone,

We upgraded our JIRA to datacenter version and while testing the git integration we saw that the Smart Commits are failing (although the commits, PRs, Branches) are working properly. Upon checking the application logs we saw that we are getting a "RATE LIMIT EXCEPTION". Attaching the logs - 

2021-04-03 13:12:27,718-0400 bigbrassband-gitplugin-AsyncProcessorImpl:thread - 0 ERROR [c.b.j.g.services.async.BigReindexTask] Error retrieving merge/pull requests for repoId = 1027274
com.bigbrassband.jira.git.exceptions.external.WrappedGithubAPIException: External service error
at com.bigbrassband.jira.git.services.integration.github.GitHubApi.getMergeRequests(GitHubApi.java:145)
at com.bigbrassband.jira.git.services.integration.github.GitHubApiService$GitHubRepoApi.getMergeRequests(GitHubApiService.java:98)
at com.bigbrassband.jira.git.services.indexer.pullrequests.MergeRequestRetrieverImpl.updateMergeRequestsFull(MergeRequestRetrieverImpl.java:136)
at com.bigbrassband.jira.git.services.indexer.pullrequests.MergeRequestRetrieverImpl.updateMergeRequests(MergeRequestRetrieverImpl.java:108)
at com.bigbrassband.jira.git.services.async.BigReindexTask.reindexMergeRequests(BigReindexTask.java:245)
at com.bigbrassband.jira.git.services.async.BigReindexTask.run(BigReindexTask.java:133)
at com.bigbrassband.jira.git.services.async.AsyncProcessorImpl$1.doRun(AsyncProcessorImpl.java:86)
at com.bigbrassband.jira.git.services.indexer.revisions.QueueEntry.run(QueueEntry.java:90)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.bigbrassband.jira.git.exceptions.internal.GitHubException: API rate limit exceeded for user ID 2080.
at org.github.api.GithubClient.runRequest(GithubClient.java:249)
at org.github.api.GithubClient.callListApi(GithubClient.java:189)
at org.github.api.GithubClient.callListApi(GithubClient.java:176)
at org.github.api.GithubClient.getPullRequestsUpdatedSince(GithubClient.java:126)
at org.github.api.GithubClient.getPullRequests(GithubClient.java:120)
... 12 more

 

Can someone suggest a fix/workaround for this ?

1 answer

1 vote
Maarten Cautreels
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 4, 2021

Hi Neha,

I'm guessing (from the logs) that you're using the Git Integration for Jira plugin by BigBrassBand? And are using it to link to git repositories in Github? Correct?

In any case, the Rate Limit is something set by the party you are integrating with (in this case Github). Depending on the way the BigBrassBand plugin authenticates towards the github API the limit is somewhere between 1000 and 5000 requests per hour. If your organization is on an Enterprise plan, it might be as high as 15000 requests per hour.

If you just set up something new or something has triggered the integration to go through every commit, PR, etc again this could lead into hitting the Rate Limits. However, if things settle down, depending on the activity on your git repositories, 1000 requests per hour should be more than enough.

Best,

Maarten

David Labra Gaona April 5, 2021

Hi Neha,

As Maarten points out, the Rate Limit is a configuration on the Git Server side. Now, there are some suggestions when this issue is encountered:

  1. Disable webhooks temporarily (either on the Git Integration side or Git side).
  2. Increase the reindex interval.
  3. If using the internal Git Integration Rest API to reindex particular repositories, make sure the body has the correct information

Once the Rate Limit issues are resolved, you may adjust the settings to meet your needs.

Cheers,

David

Like Maarten Cautreels likes this

Suggest an answer

Log in or Sign up to answer