Occasional troubles connecting to the Identity Platform

XMLWordPrintable

    • 3

      Summary

      Some instances are occassionally getting connection problems while talking to id.internal.atlassian.io. This seems to be either connection or requests timeouts.

      Steps to Reproduce

      1. Send a lot of REST requests to a Cloud instance using basic authentication (so that each request will need to be authenticated against the Identity platform)

      Expected Results

      You get correct responses for each request

      Actual Results

      Some of the requests fail because "id.internal.atlassian.io:443 failed to respond".
      Below is the 'meaningful' part of the exception returned:

      Caused by: org.apache.http.NoHttpResponseException: id.internal.atlassian.io:443 failed to respond
      at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:141) [httpclient-4.5.3.jar:4.5.3]
      at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56) [httpclient-4.5.3.jar:4.5.3]
      at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261) [httpcore-4.4.4.jar:4.4.4]
      at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:165) [httpcore-4.4.4.jar:4.4.4]
      at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:165) [httpclient-4.5.3.jar:4.5.3]
      at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272) [httpcore-4.4.4.jar:4.4.4]
      at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124) [httpcore-4.4.4.jar:4.4.4]
      at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272) [httpclient-4.5.3.jar:4.5.3]
      at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185) [httpclient-4.5.3.jar:4.5.3]
      at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89) [httpclient-4.5.3.jar:4.5.3]
      at org.apache.http.impl.execchain.ServiceUnavailableRetryExec.execute(ServiceUnavailableRetryExec.java:85) [httpclient-4.5.3.jar:4.5.3]
      at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:111) [httpclient-4.5.3.jar:4.5.3]
      at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185) [httpclient-4.5.3.jar:4.5.3]
      at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83) [httpclient-4.5.3.jar:4.5.3]
      at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108) [httpclient-4.5.3.jar:4.5.3]
      at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56) [httpclient-4.5.3.jar:4.5.3]
      at com.atlassian.idp.client.IdentityPlatformClientImpl.executeVerifyAppCredentialsRequest(IdentityPlatformClientImpl.java:190) [idp-client-1.176.0.jar:?]
      at com.atlassian.idp.client.IdentityPlatformClientImpl.verifyAppCredentials(IdentityPlatformClientImpl.java:185) [idp-client-1.176.0.jar:?]
      at com.atlassian.crowd.directory.IdentityPlatformRemoteDirectory.authenticateViaEmailWithHostname(IdentityPlatformRemoteDirectory.java:209) [crowd-remote-1000.103.0.jar:?]
      at com.atlassian.crowd.directory.DbCachingRemoteDirectory.authenticateWithHostname(DbCachingRemoteDirectory.java:255) [crowd-core-1000.103.0.jar:?]
      at com.atlassian.crowd.manager.directory.DirectoryManagerGeneric.authenticateUserWithHostname(DirectoryManagerGeneric.java:283) [crowd-core-1000.103.0.jar:?]
      at com.atlassian.crowd.manager.application.ApplicationServiceGeneric.lambda$authenticateUserWithHostname$2(ApplicationServiceGeneric.java:194) [crowd-core-1000.103.0.jar:?]
      at com.atlassian.crowd.manager.application.ApplicationServiceGeneric.authenticateUserImpl(ApplicationServiceGeneric.java:222) [crowd-core-1000.103.0.jar:?]
      at com.atlassian.crowd.manager.application.ApplicationServiceGeneric.authenticateUserWithHostname(ApplicationServiceGeneric.java:194) [crowd-core-1000.103.0.jar:?]
      at com.atlassian.crowd.embedded.core.CrowdServiceImpl.lambda$authenticateWithHostname$1(CrowdServiceImpl.java:84) [embedded-crowd-core-1000.103.0.jar:?]
      at com.atlassian.crowd.embedded.core.CrowdServiceImpl.authenticateImpl(CrowdServiceImpl.java:107) [embedded-crowd-core-1000.103.0.jar:?]
      

      Notes

      The issue is just temporary. Usually waiting couple of minutes and re-sending the request works fine.

      Workaround

      Use Cookie authentication. This way you create the session once and then you use the information stored in the cookie to authenticate all the successive calls. So, unless you get the exception when creating the session, you will never face the issue for the successive requests.

      For details and instructions:

      Another option is to use Oauth (more secure but requires some more effort to be implemented):

            Assignee:
            Unassigned
            Reporter:
            Dario B
            Votes:
            2 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: