Uploaded image for project: 'Jira Platform Cloud'
  1. Jira Platform Cloud
  2. JRACLOUD-66902

External system import fails when there is a project without Permission Scheme

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: Low Low
    • Backup and Restore
    • None

      Summary

      External System import fails when there is a project without Permission Scheme associated. It happens if the instance has at least 1 project without permission scheme, no matter which one. Which means, it’ll happen even if the project without permission scheme is not the one where you’re performing the import.

      Environment

      An instance which has a project without permission Scheme associated.

      Steps to Reproduce

      1. In an instance which has a project without Permission Scheme associated
      2. Perform an external system import. (CSV, Redmine...)

      Expected Results

      The import should be completed and issues should be imported

      Actual Results

      The below exception is thrown in the UI

      2017-04-14 14:29:06,867 INFO - Import started by user using com.atlassian.jira.plugins.importer.redmine.RedmineDataBean
      2017-04-14 14:29:06,869 INFO - ------------------------------
      2017-04-14 14:29:06,870 INFO - Importing: Users
      2017-04-14 14:29:06,870 INFO - ------------------------------
      2017-04-14 14:29:06,871 INFO - Only new items will be imported
      2017-04-14 14:29:38,212 INFO - 558 users associated with import. All of them imported as inactive, this can be changed after import in User Access step.
      2017-04-14 14:29:38,214 INFO - ------------------------------
      2017-04-14 14:29:38,214 INFO - Finished Importing : Users
      2017-04-14 14:29:38,214 INFO - ------------------------------
      2017-04-14 14:29:38,215 INFO - 0 users successfully created.
      2017-04-14 14:29:38,218 INFO - Retrieving projects...
      2017-04-14 14:29:38,219 INFO - Project ExternalProject
      {id='352', key='XXX', externalName='Project name', name='Project name'}
      exists and found correctly.
      2017-04-14 14:30:08,555 INFO - ------------------------------
      2017-04-14 14:30:08,556 INFO - Importing: Versions
      2017-04-14 14:30:08,557 INFO - ------------------------------
      2017-04-14 14:30:08,557 INFO - Only new items will be imported
      2017-04-14 14:30:08,817 INFO - ------------------------------
      2017-04-14 14:30:08,836 INFO - Finished Importing : Versions
      2017-04-14 14:30:08,838 INFO - ------------------------------
      2017-04-14 14:30:08,840 INFO - ------------------------------
      2017-04-14 14:30:08,841 INFO - Importing: Components
      2017-04-14 14:30:08,841 INFO - ------------------------------
      2017-04-14 14:30:08,842 INFO - Only new items will be imported
      2017-04-14 14:30:08,946 INFO - ------------------------------
      2017-04-14 14:30:08,947 INFO - Finished Importing : Components
      2017-04-14 14:30:08,948 INFO - ------------------------------
      2017-04-14 14:30:08,948 INFO - Retrieving custom fields...
      2017-04-14 14:30:08,958 INFO - ------------------------------
      2017-04-14 14:30:08,959 INFO - Importing: Issues
      2017-04-14 14:30:08,959 INFO - ------------------------------
      2017-04-14 14:30:08,960 INFO - Only new items will be imported
      2017-04-14 14:30:08,967 INFO - ------------------------------
      2017-04-14 14:30:08,967 INFO - Finished Importing : Issues
      2017-04-14 14:30:08,968 INFO - ------------------------------
      2017-04-14 14:30:08,968 ERROR - Unexpected failure occurred. Importer will stop immediately. Data may be in an unstable state
      2017-04-14 14:30:08,970 INFO - No issues need to be reindexed.
      

       

      This appears in jlog

      "message":"Unexpected failure occurred. Importer will stop immediately. Data may be in an unstable state",
       "err":{
       "stack":"
       java.lang.NullPointerException
       at com.atlassian.jira.issue.search.parameters.lucene.DefaultPermissionQueryFactory.collectProjectTerms(DefaultPermissionQueryFactory.java:115)
       at com.atlassian.jira.issue.search.parameters.lucene.DefaultPermissionQueryFactory.getQuery(DefaultPermissionQueryFactory.java:63)
       at com.atlassian.jira.issue.search.parameters.lucene.PermissionsFilterGeneratorImpl.lambda$getQuery$0(PermissionsFilterGeneratorImpl.java:32)
       at com.atlassian.vcache.internal.core.service.DefaultRequestCache.lambda$get$2(DefaultRequestCache.java:52)
       at java.util.Optional.orElseGet(Optional.java:267)
       at com.atlassian.vcache.internal.core.service.DefaultRequestCache.get(DefaultRequestCache.java:50)
       at com.atlassian.jira.issue.search.parameters.lucene.PermissionsFilterGeneratorImpl.getQuery(PermissionsFilterGeneratorImpl.java:31)
       at com.atlassian.jira.issue.search.providers.LuceneSearchProvider.getPermissionsFilter(LuceneSearchProvider.java:372)
       at com.atlassian.jira.issue.search.providers.LuceneSearchProvider.getHits(LuceneSearchProvider.java:214)®ƒat com.atlassian.jira.issue.search.providers.LuceneSearchProvider.searchAndSort(LuceneSearchProvider.java:341)
       at com.atlassian.jira.issue.search.providers.LuceneSearchProvider.searchAndSort(LuceneSearchProvider.java:152)
       at com.atlassian.jira.issue.search.vsearch.VLuceneSearchProvider.collect(VLuceneSearchProvider.java:311)
       at com.atlassian.jira.issue.search.vsearch.VDualSearchProvider$WrappedSearchExecutor.lambda$collect$3(VDualSearchProvider.java:463)
       at com.atlassian.jira.issue.search.vsearch.VDualSearchProvider.lambda$timedSearch$0(VDualSearchProvider.java:118)
       at com.atlassian.jira.issue.search.providers.SearchModeExecutor.performPrimarySearch(SearchModeExecutor.java:236)
       at com.atlassian.jira.issue.search.providers.SearchModeExecutor.lambda$getTimedResults$3(SearchModeExecutor.java:173)
       at com.atlassian.jira.issue.search.providers.SearchModeExecutor.searchThrowableToEither(SearchModeExecutor.java:362)
       at com.atlassian.jira.issue.search.providers.SearchModeExecutor.getTimedResults(SearchModeExecutor.java:172)
       at com.atlassian.jira.issue.search.vsearch.VDualSearchProvider.runDualSearch(VDualSearchProvider.java:142)
       at com.atlassian.jira.issue.search.vsearch.VDualSearchProvider.collect(VDualSearchProvider.java:290)
       at com.atlassian.jira.issue.search.vsearch.IssueCollectBuilderImpl$EffectIssueCollectImpl.execute(IssueCollectBuilderImpl.java:296)
       at com.atlassian.jira.plugins.importer.imports.importer.impl.DefaultJiraDataImporter.getExternalIdsToIssueKeysMap(DefaultJiraDataImporter.java:863)
       at com.atlassian.jira.plugins.importer.imports.importer.impl.DefaultJiraDataImporter.getExternalIdsToIssueKeysMap(DefaultJiraDataImporter.java:835)
       at com.atlassian.jira.plugins.importer.imports.importer.impl.DefaultJiraDataImporter.importIssues(DefaultJiraDataImporter.java:736)
       at com.atlassian.jira.plugins.importer.imports.importer.impl.DefaultJiraDataImporter.doImport(DefaultJiraDataImporter.java:384)
       ... 3 filtered
       at java.lang.reflect.Method.invoke(Method.java:498)
       at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
       at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
       at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
       at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
       at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
       at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor$1.run(ServiceTCCLInterceptor.java:61)
       at org.eclipse.gemini.blueprint.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:130)
       at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokePrivileged(ServiceTCCLInterceptor.java:58)
       at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:50)
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
       at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
       at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
       at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
       at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
       at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
       at com.sun.proxy.$Proxy1807.doImport(Unknown Source)
       at com.atlassian.jira.plugins.importer.imports.importer.impl.ImporterCallable.call(ImporterCallable.java:26)
       at com.atlassian.jira.plugins.importer.imports.importer.impl.ImporterCallable.call(ImporterCallable.java:15)
       at com.atlassian.jira.task.TaskManagerImpl$TaskCallableDecorator.call(TaskManagerImpl.java:457)
       at com.atlassian.jira.task.TaskManagerImpl$TaskCallableDecorator.call(TaskManagerImpl.java:425)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at com.atlassian.jira.util.UnicornOnlyWorkContextCreatingExecutorService.lambda$wrapWithWorkContext$8(UnicornOnlyWorkContextCreatingExecutorService.java:218)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
       at java.lang.Thread.run(Thread.java:745)"},
       
       
      

       

      And also in jlog

      2017-05-11 12:18:21.702329500 2017-05-11 12:18:21,702 JiraTaskExectionThread-2 WARN sysadmin 738x9424x1  193.240.188.96 /secure/admin/ImporterLogsPage!import.jspa [c.a.jira.permission.DefaultPermissionSchemeManager] No permission scheme is associated with project 'XXX'

       

      Workaround

      Contact Atlassian Support in order to fix the Permission Scheme issue using this KB

              ohookins@atlassian.com Oliver Hookins (Inactive)
              aradmann aradmann (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: