Error arises when accessing issues updated by deleted users
Description
Users face issues when trying to access issues from the board shares and filter shares that have been created or last updated by a user who is no longer present in the Jira instance (i.e., a deleted user).
Steps to reproduce
-
Add a Jira user to your instance
-
Grant the new user Jira project admin access
-
Navigate to Project settings using this user's account
-
Create a new board or filter share, or update existing ones
-
Delete the aforementioned user from the Jira instance
-
Open the board or filter share as an external user
-
Attempt to access any issues on the board
-
Observe the error as the share page fails to render
Expected Behavior
Information about restrictions should be displayed to user
Restricted issue/filter/board/timeline
The issue/filter/board/timeline share link you're trying to access is currently unavailable due to changes in internal permissions.
Please reach out to the individual who shared this link with you.
Why is this happening?
All kind of shared links should be checked issue/filter(issue)/board(issue)/roadmap(issue).
Actual Behavior
An error arises, causing the share page to fail to render.
Based on customer report
Error log
[00000000cf1c31f5] 2023-08-18T14:48:30.815+02:00 ERROR 3933028 --- [XNIO-1 task-5] o.a.j.s.s.external.SharePageController : Error while rendering share page: /issue/88658/user_is_not_on_instance/QA-93,
POST https://parsashivaqa.atlassian.net/rest/api/3/search failed with HTTP status code 403
ovh.atlasinc.connect.jira.Jira$JiraException: POST https://parsashivaqa.atlassian.net/rest/api/3/search failed with HTTP status code 403
at ovh.atlasinc.connect.jira.Jira$HttpErrorHandler.apply(Jira.java:1112)
at ovh.atlasinc.connect.jira.Jira$HttpErrorHandler.apply(Jira.java:1097)
at ovh.atlasinc.guarana.http.HttpClient.checkHttpStatus(HttpClient.java:354)
at ovh.atlasinc.guarana.http.HttpClient.exchange(HttpClient.java:339)
at ovh.atlasinc.guarana.http.HttpClient.exchange(HttpClient.java:321)
at ovh.atlasinc.guarana.http.HttpClient.post(HttpClient.java:82)
at ovh.atlasinc.connect.jira.Jira.jqlReq(Jira.java:507)
at ovh.atlasinc.connect.jira.Jira.jql(Jira.java:499)
at ovh.atlasinc.jira.share.share.external.SupportUnit.lambda$createBoardCloudIssueContextLevel1$39(SupportUnit.java:592)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)