Jira import fails due to 'PermissionSchemeAttribute'

XMLWordPrintable

    • 30
    • Severity 3 - Minor
    • 2

      Summary

      Jira fails to validate the backup file with following error:

      Environment

      • Server to Cloud migration

      Steps to Reproduce

      1. Import a Server backup (version 7.4) to Cloud

      Expected Results

      Import should be successfully processed

      Actual Results

      Import is failing with an error:

      could not find definition for entity name PermissionSchemeAttribute

      Application logs:

      org.ofbiz.core.entity.GenericModelException: Could not find definition for entity name PermissionSchemeAttribute at org.ofbiz.core.entity.model.ModelReader.getModelEntity(ModelReader.java:314) at org.ofbiz.core.entity.GenericDelegator.getModelEntity(GenericDelegator.java:297) at org.ofbiz.core.entity.GenericDelegator.makeValue(GenericDelegator.java:475) at org.ofbiz.core.entity.DelegatorInterface$$FastClassByCGLIB$$13914f4e.invoke(<generated>) at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at com.atlassian.jira.config.component.AbstractDelegatedMethodInterceptor.intercept(AbstractDelegatedMethodInterceptor.java:48) at org.ofbiz.core.entity.DelegatorInterface$$EnhancerByCGLIB$$f2fad8dd.makeValue(<generated>) at com.atlassian.jira.ofbiz.DefaultOfBizDelegator.makeValue(DefaultOfBizDelegator.java:333) at com.atlassian.jira.bc.dataimport.DefaultOfbizImportHandler.parseValue(DefaultOfbizImportHandler.java:427) at com.atlassian.jira.bc.dataimport.DefaultOfbizImportHandler.parseValueFailsafe(DefaultOfbizImportHandler.java:408) at com.atlassian.jira.bc.dataimport.DefaultOfbizImportHandler.startElement(DefaultOfbizImportHandler.java:325) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at com.atlassian.security.xml.RestrictedXMLReader.parse(RestrictedXMLReader.java:103) at com.atlassian.jira.bc.dataimport.DefaultImportValidationService.parseXmlAndValidateBackupData(DefaultImportValidationService.java:171) at com.atlassian.jira.bc.dataimport.DefaultImportValidationService.validateImport(DefaultImportValidationService.java:145) at com.atlassian.jira.bc.dataimport.archive.visitor.EntityXmlVisitor.validate(EntityXmlVisitor.java:50) at com.atlassian.jira.bc.dataimport.archive.visitor.EntityXmlVisitor.visit(EntityXmlVisitor.java:41) at com.atlassian.jira.bc.dataimport.archive.visitor.EntityXmlVisitor.visit(EntityXmlVisitor.java:22) at com.atlassian.jira.bc.dataimport.archive.ManifestExtractor.visitEntries(ManifestExtractor.java:69) at com.atlassian.jira.bc.dataimport.archive.ManifestValidatorImpl.validate(ManifestValidatorImpl.java:44) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26) at com.sun.proxy.$Proxy793.validate(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 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.$Proxy1713.validate(Unknown Source) at com.atlassian.jira.plugin.backup.DefaultCloudImportHelper.validateArchive(DefaultCloudImportHelper.java:192) at com.atlassian.jira.plugin.backup.ImportValidationTaskRunner.lambda$null$3(ImportValidationTaskRunner.java:182) at com.atlassian.jira.plugin.backup.ImportValidationTaskRunner.validateFile(ImportValidationTaskRunner.java:283) at com.atlassian.jira.plugin.backup.ImportValidationTaskRunner.lambda$fullValidation$9(ImportValidationTaskRunner.java:182) at io.atlassian.fugue.Either$RightProjection.flatMap(Either.java:886) at io.atlassian.fugue.Either.flatMap(Either.java:231) at com.atlassian.jira.plugin.backup.ImportValidationTaskRunner.fullValidation(ImportValidationTaskRunner.java:177) at com.atlassian.jira.plugin.backup.ImportValidationTaskRunner.runInternally(ImportValidationTaskRunner.java:126) at com.atlassian.jira.plugin.backup.ImportValidationTaskRunner.runTask(ImportValidationTaskRunner.java:88) at com.atlassian.jira.task.progress.ProgressAwareMessageRunner.processMessage(ProgressAwareMessageRunner.java:87) at com.atlassian.messagequeue.internal.core.NestedMessageConsumer.consume(NestedMessageConsumer.java:135) at com.atlassian.messagequeue.internal.sqs.SQSMessageConsumer.processReceiveMessageResult(SQSMessageConsumer.java:171) at com.atlassian.messagequeue.internal.sqs.SQSMessageConsumer.run(SQSMessageConsumer.java:112) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)
      

      Notes

      • The backup file successfully restored on a different Jira Server.
      • Issue only happens when importing to Jira Cloud

      Workaround

      1. the user can unzip the backup archive and open entities.xml file and remove the following line from the file:
            <PermissionSchemeAttribute id="10000" scheme="10100" attributeKey="ADMINISTER_PROJECTS.extended.enabled" attributeValue="true"/>
        
      2. Save the file
      3. Rezip it
      4. Submit a new import

            Assignee:
            Anatoly Shuvalov
            Reporter:
            Ting
            Votes:
            8 Vote for this issue
            Watchers:
            17 Start watching this issue

              Created:
              Updated:
              Resolved: