-
Bug
-
Resolution: Fixed
-
Low (View bug fix roadmap)
-
Unknown
-
1
-
Severity 1 - Critical
-
Issue Summary
When performing some functions in the Android Jira Mobile App, calls to the server are duplicated. This results in double the load on the application node, which could result in performance degradation. Actions identified thus-far are related to boards:
- Enter a board
- Click and issue from a board, then go back to the board
Impact
The affected endpoint has the ability to consume a non-trivial amount of memory, so if a user accesses one of these functions and it is loading slowly, they may make repeat actions which could result in the application node consuming all available heap and going unresponsive. The Mobile app allows such repeat operations, which result in repeat request to server, which results in excessive heap consumption.
Steps to Reproduce
- Install Android App (I tested 0.16.2)
- Setup the app to connect to a local Jira instance
- Tail your Jira access log and observe request coming through
tail -f JIRA_INSTALL/logs/access_log.2020-01-18 #replace JIRA_INSTALL with your jira install directory, and 2020-01-18 with today's date
- Click into a board
Expected Results
Only 1 request is received:
127.0.0.1 718x13628x1 admin [15/Jan/2021:11:58:45 +1100] "GET /j855/rest/nativemobile/1.0/board/2?markAsViewed=true&activeQuickFilters=&activeSprints= HTTP/1.1" 200 7870 1000 "-" "JIRA/0.16.2/Android" "5ixn8c"
Actual Results
Android
127.0.0.1 718x13628x1 admin [15/Jan/2021:11:58:45 +1100] "GET /j855/rest/nativemobile/1.0/board/2?markAsViewed=true&activeQuickFilters=&activeSprints= HTTP/1.1" 200 7870 1000 "-" "JIRA/0.16.2/Android" "5ixn8c" 127.0.0.1 718x13630x2 admin [15/Jan/2021:11:58:45 +1100] "GET /j855/rest/nativemobile/1.0/board/2?markAsViewed=true&activeQuickFilters=&activeSprints= HTTP/1.1" 200 7870 974 "-" "JIRA/0.16.2/Android" "5ixn8c"
For reference, here is what it looks with the iOS Mobile App:
127.0.0.1 764x17180x3 admin [15/Jan/2021:12:44:37 +1100] "GET /j855/rest/nativemobile/1.0/board/2 HTTP/1.1" 200 19413 1755 "-" "JIRA/1.17.0 (com.atlassian.jira.server.app; build:1.17.0.2; iOS 14.3.0) Alamofire/4.9.1" "p74319"
Workaround
Request caching could be implemented on a reverse proxy level to cache same request within 1s, for example.
If the impact is severe, the Android client could be blocked by filtering JIRA/*/Android user agent and the reverse proxy / WAF level
- relates to
-
SHRK-729 You do not have permission to view this issue
Issue is under investigation by Server Mobile team