The /status endpoint URL does not return STARTING when Jira is starting up

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: Low
    • None
    • Affects Version/s: 7.13.18, 8.5.5, 8.5.9, 8.5.12, 8.5.15, 8.13.6, 9.6.0
    • Component/s: REST API
    • None
    • 7.13
    • 5
    • Severity 2 - Major
    • 1

      Issue Summary

      When starting Jira, the /status endpoint returns only once the "{"state":"STARTING"}" with HTTP status 200 output during Jira startup process.
      Subsequent curl commands do not return response and get either HTTP status 503 or "Failed to connect to localhost port [port number]]: Connection refused" error during the startup

      Trying /status in the Browser keeps blank.

      Steps to Reproduce

      1. Install Jira Server or DC
      2. Run curl locally using: "while true; do curl -v http://<nodehostname>:<port>/status; sleep 1;done"
      3. Start Jira and check curl outputs.

      Expected Results

      The /status REST API should return the "{"state":"STARTING"}" during the startup process.

      Actual Results

      Notice, the actual results might vary depending on the underlying root cause that's causing the delay in startup.

      In some cases, the /status returns the "{"state":"STARTING"}" (with HTtP status 200) only the very first try.

      *   Trying 127.0.0.1:8080...
      * TCP_NODELAY set
      * Connected to localhost (127.0.0.1) port 8080 (#0)
      > GET /status HTTP/1.1
      > Host: localhost:8080
      > User-Agent: curl/7.68.0
      > Accept: */*
      >
      * Mark bundle as not supporting multiuse
      < HTTP/1.1 200      << -------
      < X-AREQUESTID: 1199x1x1
      < Referrer-Policy: strict-origin-when-cross-origin
      < X-XSS-Protection: 1; mode=block
      < X-Content-Type-Options: nosniff
      < X-Frame-Options: SAMEORIGIN
      < Content-Security-Policy: frame-ancestors 'self'
      < Strict-Transport-Security: max-age=31536000
      < X-AUSERNAME: anonymous
      < Content-Type: application/json;charset=UTF-8
      < Content-Length: 20
      < Date: Thu, 03 Jun 2021 19:59:17 GMT
      <
      * Connection #0 to host localhost left intact
      {"state":"STARTING"}*   << -------

      All the next tries on /status will return HTTP status code 503 and blank answer

      *   Trying 127.0.0.1:8080...
      * TCP_NODELAY set
      * Connected to localhost (127.0.0.1) port 8080 (#0)
      > GET /status HTTP/1.1
      > Host: localhost:8080
      > User-Agent: curl/7.68.0
      > Accept: */*
      >
      * Mark bundle as not supporting multiuse
      < HTTP/1.1 503     << -------
      < X-AREQUESTID: 1199x3x1
      < Referrer-Policy: strict-origin-when-cross-origin
      < X-XSS-Protection: 1; mode=block
      < X-Content-Type-Options: nosniff
      < X-Frame-Options: SAMEORIGIN
      < Content-Security-Policy: frame-ancestors 'self'
      < Strict-Transport-Security: max-age=31536000
      < Retry-After: 30
      < Content-Type: text/html;charset=UTF-8
      < Transfer-Encoding: chunked
      < Date: Thu, 03 Jun 2021 19:59:19 GMT
      < Connection: close
      <
      * Closing connection 0
      

      In other cases, "Connection refused errors" will be evident for some time, but eventually the status endpoint will start working, i.e. once Jira is started, it will show the actual cluster node state (e.g. RUNNING)

      Failed to connect to localhost port [port number]: Connection refused

      Workaround

      Currently there is no known workaround for this behavior. A workaround will be added here when available

            Assignee:
            Unassigned
            Reporter:
            Bruno
            Votes:
            4 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: