-
Bug
-
Resolution: Unresolved
-
Medium
-
15
-
Severity 2 - Major
-
6
-
Summary
Bulk rest api calls that fails with DB connection errors is returning a 403 response code to the client.
1. Content response is even more misleading :
<html> <head> <title>Forbidden (403)</title> <!--[if IE]><![endif]--> <script type="text/javascript" >
2. Jira application logs indicates DB connection error from too many request within a short period of time.
ERROR com.atlassian.plugins.rest.common.error.jersey.ThrowableExceptionMapper Uncaught exception thrown by REST service: org.ofbiz.core.entity.GenericDataSourceException: Unable to establish a connection with the database. (PSQL_TOO_MANY_CONNECTIONS Exception already occurred in this workcontext, skipping next getConnection)
Jira is returning wrong response code along with error message. The external App sends API request to Jira and it failed. Jira returns 403 error while it can return 429 error. If the App receives 403, it will stop operation. If the App receives 429, it should retry sending request again.
Steps to Reproduce
- Call REST APIs in continuous succession
Expected Results
If the rate limit is hit, the status 429. Throttling limit state should be returned in headers like here
Actual Results
HTTP 403 response code returned with the following content
<html> <head> <title>Forbidden (403)</title> <!--[if IE]><![endif]--> <script type="text/javascript" >
- is duplicated by
-
JRACLOUD-76290 Calls to Jira Cloud cause 403 Forbidden response
-
- Closed
-
- is related to
-
JRACLOUD-70291 500 "FATAL: too many connections for role" caused by Edge malfunction
-
- Closed
-
-
JRACLOUD-71874 Report 503 instead of 500 in case of "FATAL: too many connections for role"
-
- Closed
-
-
ACJIRA-1913 Some instances receives response errors when calling rest api's after successful app installation
- Gathering Impact
- depended on by
-
DEVHELP-3226 Failed to load
-
DEVHELP-3254 Loading...
- mentioned in
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
- relates to
-
HOT-94645 Loading...
-
ACJIRA-1929 Loading...
Form Name |
---|
We acknowledge existence of the problem with unexpected DB connection errors returned by API, and realize how painful it is for Ecosystem vendors, Jira and apps users. We’d love to deliver fix asap, but unfortunately it will take us at least few more months as solution requires major updates to our rate limiting mechanisms. Good news is that we work on that already.
403 errors indicate Atlassian infrastructure is overloaded by the number of incoming requests, and in order to avoid Jira outage we rate limit some of them. Current rate limiting mechanism is implemented at Jira site level and is exposed to "noisy neighbourhood" issue. Requests coming from the users, your app and other apps accessing our infrastructure are treated in the same manner, so single misbehaving consumer can trigger rate limiting for the whole Jira site.
We are actively working on per consumer rate limiting which should help us provide meaningful information in the response headers. We’ll let you when we have got more details.
At the time being we suggest: