-
Bug
-
Resolution: Won't Fix
-
High
-
None
-
2
-
Minor
-
1
-
-
Warranty
Issue Summary
We are intermittently encountering HTTP 400 errors when calling the following Jira Cloud REST API endpoints:
- /rest/api/3/search
- /rest/api/3/search/jql
While the majority of requests are successful, a subset fail sporadically with a 400 error. These responses include partial internal stack traces, such as:
[400: POST] https://site.atlassian.net/rest/api/3/search body=b'{"errorMessages":["com.querydsl.core.QueryException: Caught PSQLException for select distinct /* called at com.atlassian.jira.jql.permission.querydsl.ProjectStatusAwarePermissionsPredicateHelper.lambda$projectRolePermissionsCacheLoader$33(ProjectStatusAwarePermissi… */\\"SCHEME_PERMISSIONS\\".\\"perm_type\\", \\"PROJECT\\".\\"id\\"\\nfrom \\"public\\".\\"project\\" \\"PROJECT\\"\\njoin \\"public\\".\\"schemepermissions\\" \\"SCHEME_PERMISSIONS\\"\\non \\"PROJECT\\".\\"permissionscheme\\" = \\"SCHEME_PERMISSIONS\\".\\"scheme\\"\\nwhere \\"PROJECT\\".\\"id\\" is not null and \\"PROJECT\\".\\"status\\" = ANY (?) and\\"SCHEME_PERMISSIONS\\".\\"permission_key\\" = ? and \\"SCHEME_PERMISSIONS\\".\\"perm_type\\" = ANY (?)"]}'
This issue introduces instability for applications relying on these endpoints for critical integrations and data synchronization.
The presence of partial stack traces in the response also raises concerns about internal error handling and exposure of implementation details.
Steps to Reproduce
- Call /rest/api/3/search or /rest/api/3/jql with a valid payload.
- Observe sporadic HTTP 400 responses with internal error messages.
- Retry succeeds, indicating a transient issue.
Expected Results
- Stack trace shouldn't be shared.
- A fallback mechanism for this type of scenario should be implemented for the request to be successful.
Actual Results
- Stack trace is shared
- The request fails.
Workaround
Using a retry mechanism to re-call the API upon failure: