Uploaded image for project: 'Jira Service Management Data Center'
  1. Jira Service Management Data Center
  2. JSDSERVER-15513

Assets Jira users import type gets stuck reading Jira avatars

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Medium Medium
    • None
    • 5.12.12, 5.4.25
    • Assets - Import

      Issue Summary

      Assets Jira users import type gets stuck during reading data step.

      In the following example, the User import process was initiated at 12:35 on August 17. However, it encountered an immediate halt while attempting to retrieve data from Jira.

      2024-08-14 12:35:44,504 [insight-InsightThreadGroup-worker-thread-5] {Id=49, Name=Jira User, Type=rlabs-import-type-user, jira.username=admin} | Starting import with number of workers 4 at time 2024-08-14T12:35:44.504470315
      2024-08-14 12:35:44,504 [insight-InsightThreadGroup-worker-thread-5] {Id=49, Name=Jira User, Type=rlabs-import-type-user, jira.username=admin} | Number of enabled ImportSourceOTs: 1
      2024-08-14 12:35:44,504 [insight-InsightThreadGroup-worker-thread-5] {Id=49, Name=Jira User, Type=rlabs-import-type-user, jira.username=admin} | Number of matched enabled ImportSourceOTs: 1 for import configuration: Jira User
      2024-08-14 12:35:44,504 [insight-InsightThreadGroup-worker-thread-5] {Id=49, Name=Jira User, Type=rlabs-import-type-user, jira.username=admin} | Number of enabled ImportSourceOTs: 1
      2024-08-14 12:35:44,504 [insight-InsightThreadGroup-worker-thread-5] {Id=49, Name=Jira User, Type=rlabs-import-type-user, jira.username=admin} | Number of matched enabled ImportSourceOTs: 1 for import configuration: Jira User
      2024-08-14 12:35:44,505 [insight-InsightImportThreadGroup-worker-thread-3] {Id=49, Name=Jira User, Type=rlabs-import-type-user, jira.username=admin} | Started reading data for configured object type id 81
      

      Import gets stuck on getUserImage method.

      "insight-InsightImportThreadGroup-worker-thread-1" #7021 prio=5 os_prio=0 cpu=679.85ms elapsed=107883.39s tid=0x000077f68c9cc6e0 nid=0x1c87 runnable  [0x000077f5fe2ee000]
         java.lang.Thread.State: RUNNABLE
      	at sun.nio.ch.Net.connect0(java.base@17.0.12/Native Method)
      	at sun.nio.ch.Net.connect(java.base@17.0.12/Net.java:579)
      	at sun.nio.ch.Net.connect(java.base@17.0.12/Net.java:568)
      	at sun.nio.ch.NioSocketImpl.connect(java.base@17.0.12/NioSocketImpl.java:593)
      	at java.net.SocksSocketImpl.connect(java.base@17.0.12/SocksSocketImpl.java:327)
      	at java.net.Socket.connect(java.base@17.0.12/Socket.java:633)
      	at sun.security.ssl.SSLSocketImpl.connect(java.base@17.0.12/SSLSocketImpl.java:304)
      	at sun.security.ssl.BaseSSLSocketImpl.connect(java.base@17.0.12/BaseSSLSocketImpl.java:174)
      	at sun.net.NetworkClient.doConnect(java.base@17.0.12/NetworkClient.java:183)
      	at sun.net.www.http.HttpClient.openServer(java.base@17.0.12/HttpClient.java:533)
      	at sun.net.www.http.HttpClient.openServer(java.base@17.0.12/HttpClient.java:638)
      	at sun.net.www.protocol.https.HttpsClient.<init>(java.base@17.0.12/HttpsClient.java:266)
      	at sun.net.www.protocol.https.HttpsClient.New(java.base@17.0.12/HttpsClient.java:380)
      	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(java.base@17.0.12/AbstractDelegateHttpsURLConnection.java:193)
      	at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(java.base@17.0.12/HttpURLConnection.java:1241)
      	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(java.base@17.0.12/HttpURLConnection.java:1127)
      	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(java.base@17.0.12/AbstractDelegateHttpsURLConnection.java:179)
      	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(java.base@17.0.12/HttpURLConnection.java:1686)
      	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(java.base@17.0.12/HttpURLConnection.java:1610)
      	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(java.base@17.0.12/HttpsURLConnectionImpl.java:224)
      	at java.net.URL.openStream(java.base@17.0.12/URL.java:1161)
      	at com.riadalabs.jira.plugins.insight.services.util.ImageUtil.getUserImage(ImageUtil.java:67)
      	at com.riadalabs.jira.plugins.insight.services.imports.modules.user.UserImportModule.getDataEntries(UserImportModule.java:151)
      	at com.riadalabs.jira.plugins.insight.services.imports.modules.user.UserImportModule.dataHolder(UserImportModule.java:102)
      	at com.riadalabs.jira.plugins.insight.services.imports.modules.user.UserImportModule.dataHolder(UserImportModule.java:51)
      	at com.riadalabs.jira.plugins.insight.services.jira.module.ImportModuleDelegator.dataHolder(ImportModuleDelegator.java:56)
      	at com.riadalabs.jira.plugins.insight.services.imports.common.importjobprovider.ImportJobProvider.getImportDataHolder(ImportJobProvider.java:142)
      	at com.riadalabs.jira.plugins.insight.services.imports.common.importjobprovider.DataHolderFetcherJobProvider$DataHolderFetcher.fetchDataHolder(DataHolderFetcherJobProvider.java:106)
      	at com.riadalabs.jira.plugins.insight.services.imports.common.importjobprovider.DataHolderFetcherJobProvider$DataHolderFetcher.executeTask(DataHolderFetcherJobProvider.java:94)
      	at com.riadalabs.jira.plugins.insight.services.imports.common.importjobprovider.DataHolderFetcherJobProvider$DataHolderFetcher.executeTask(DataHolderFetcherJobProvider.java:78)
      	at com.riadalabs.jira.plugins.insight.services.core.multithreadservice.InsightServiceJob.call(InsightServiceJob.java:41)
      	at com.atlassian.sal.core.executor.ThreadLocalDelegateCallable.call(ThreadLocalDelegateCallable.java:38)
      	at java.util.concurrent.FutureTask.run(java.base@17.0.12/FutureTask.java:264)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.12/ThreadPoolExecutor.java:1136)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.12/ThreadPoolExecutor.java:635)
      	at java.lang.Thread.run(java.base@17.0.12/Thread.java:840)
      

      Steps to Reproduce

      1. Jira > Administration > System > Avatars and set ON
      2. Ensure that the Avatar Server URL or *.gravatar.com is blocked in the firewall.
      3. Create an Assets Schema
      4. Set up Assets Jira users import type
      5. Sync the import

      Expected Results

      Import processes should not be delayed due to avatar retrieval issues. If avatars are unavailable, a timeout mechanism should be implemented.

      Actual Results

      The import operation should either raise a timeout exception or complete the process without including avatars.

      Workaround

      There are two main approaches to consider:

      1. Disable Avatars from Jira > Administration > System > Avatars and set OFF
      2. Make sure Avatar server is reachable by Jira.

      Versions Tested

      Please confirm all versions that have been tested for this issue, and indicate whether the tested version is affected or not affected, below: 

      Testing Requirements Version Affected Version
      Customers Reported Version 5.12.12 Yes
      Most Recent Bug-Fix Release    
      Previous Major Release 5.4.25 Yes
      Most Recent LTS    
      Previous Supported LTS    
      Other Versions..    
      (Add rows as needed)    

              Unassigned Unassigned
              9f03f4114502 Pablo Bartolome
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: