Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-71994

Jira Server Mobile for Android issues duplicate request to the server

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Low Low
    • 8.17.0
    • Unknown
    • Mobile

      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

      1. Install Android App (I tested 0.16.2)
      2. Setup the app to connect to a local Jira instance
      3. 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
      4. 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

            23a0a13a26af Anastasiia Rusova (Inactive)
            allewellyn@atlassian.com Alex [Atlassian,PSE]
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: