Uploaded image for project: 'ERM Platform'
  1. ERM Platform
  2. ERM-2389

Importing KBART fails

    XMLWordPrintable

Details

    • ERM Sprint 151
    • Bienenvolk
    • Nolana (R3 2022)
    • TBD

    Description

      Overview:
      Steps to Reproduce:

      1. Using Local KB Admin, attempt to import attached KBART file

      Expected Results:

      KBART file imports and creates a package

      Actual Results:

      Ingest fails with following stack trace:

      2022-10-19 08:56:54.585  INFO --- [pool-3-thread-1] o.o.g.jobs.KbartImportJob               [diku] : Running KBART Package Import Job2022-10-19 08:56:54.633 DEBUG --- [pool-3-thread-1] org.olf.ImportService                   [diku] : Attempting to import package from KBART file2022-10-19 08:56:54.647 ERROR --- [pool-3-thread-1] org.olf.ImportService                   [diku] : Property [value] of class [class org.olf.dataimport.erm.Identifier] cannot be null2022-10-19 08:56:54.656  INFO --- [pool-3-thread-1] org.olf.PackageIngestService            [diku] : Package header: HeaderImpl(PackageProvider(DIKU), diku, null, KBART Simple Package, true, null, null, kbart_simple_package, null, null, null, null, null, null, null, null, null, null, grails.validation.ValidationErrors: 0 errors) - update start time is 16661698146562022-10-19 08:56:54.659 DEBUG --- [pool-3-thread-1] org.olf.PackageIngestService            [diku] : Package contains provider information: DIKU -- trying to match to an existing organisation.2022-10-19 08:56:54.678 ERROR --- [pool-3-thread-1] o.o.g.jobs.JobRunnerService             [diku] : Cannot invoke method trim() on null object2022-10-19 08:56:54.678 ERROR --- [pool-3-thread-1] o.o.g.jobs.JobRunnerService             [diku] : Job execution failed
      java.lang.NullPointerException: Cannot invoke method trim() on null object
        at org.codehaus.groovy.runtime.NullObject.invokeMethod(NullObject.java:91)
        at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.call(PogoMetaClassSite.java:43)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.NullCallSite.call(NullCallSite.java:34)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at java_lang_String$trim$2.call(Unknown Source)
        at com.k_int.web.toolkit.refdata.RefdataValue.normValue(RefdataValue.groovy:41)
        at com.k_int.web.toolkit.refdata.RefdataValue$normValue$2.callStatic(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)
        at com.k_int.web.toolkit.refdata.RefdataValue$normValue$2.callStatic(Unknown Source)
        at com.k_int.web.toolkit.refdata.RefdataValue$_lookupOrCreate_closure3.doCall(RefdataValue.groovy:84)
        at jdk.internal.reflect.GeneratedMethodAccessor727.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
        at groovy.lang.Closure.call(Closure.java:405)
        at groovy.lang.Closure.call(Closure.java:421)
        at grails.gorm.transactions.GrailsTransactionTemplate$2.doInTransaction(GrailsTransactionTemplate.groovy:94)
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
        at grails.gorm.transactions.GrailsTransactionTemplate.execute(GrailsTransactionTemplate.groovy:91)
        at org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:1014)
        at org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:877)
        at org.grails.datastore.gorm.GormEntity$Trait$Helper.withTransaction(GormEntity.groovy:941)
        at org.grails.datastore.gorm.GormEntity$Trait$Helper$withTransaction.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.grails.datastore.gorm.GormEntity$Trait$Helper$withTransaction.call(Unknown Source)
        at com.k_int.web.toolkit.refdata.RefdataValue.withTransaction(RefdataValue.groovy)
        at com.k_int.web.toolkit.refdata.RefdataValue$withTransaction$0.call(Unknown Source)
        at com.k_int.web.toolkit.refdata.RefdataValue.lookupOrCreate(RefdataValue.groovy:83)
        at com.k_int.web.toolkit.refdata.RefdataValue$lookupOrCreate$1.callStatic(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)
        at com.k_int.web.toolkit.refdata.RefdataValue$lookupOrCreate$1.callStatic(Unknown Source)
        at com.k_int.web.toolkit.refdata.RefdataValue$_lookupOrCreate_closure2.doCall(RefdataValue.groovy:77)
        at jdk.internal.reflect.GeneratedMethodAccessor721.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
        at groovy.lang.Closure.call(Closure.java:405)
        at groovy.lang.Closure.call(Closure.java:421)
        at grails.gorm.transactions.GrailsTransactionTemplate$2.doInTransaction(GrailsTransactionTemplate.groovy:94)
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
        at grails.gorm.transactions.GrailsTransactionTemplate.execute(GrailsTransactionTemplate.groovy:91)
        at org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:1014)
        at org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:877)
        at org.grails.datastore.gorm.GormEntity$Trait$Helper.withTransaction(GormEntity.groovy:941)
        at org.grails.datastore.gorm.GormEntity$Trait$Helper$withTransaction.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.grails.datastore.gorm.GormEntity$Trait$Helper$withTransaction.call(Unknown Source)
        at com.k_int.web.toolkit.refdata.RefdataValue.withTransaction(RefdataValue.groovy)
        at com.k_int.web.toolkit.refdata.RefdataValue$withTransaction$0.call(Unknown Source)
        at com.k_int.web.toolkit.refdata.RefdataValue.lookupOrCreate(RefdataValue.groovy:67)
        at com.k_int.web.toolkit.refdata.RefdataValue$lookupOrCreate.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at com.k_int.web.toolkit.refdata.RefdataValue$lookupOrCreate.call(Unknown Source)
        at com.k_int.web.toolkit.refdata.GrailsDomainRefdataHelpers$_addMethods_closure8.doCall(GrailsDomainRefdataHelpers.groovy:187)
        at jdk.internal.reflect.GeneratedMethodAccessor870.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
        at groovy.lang.Closure.call(Closure.java:405)
        at org.codehaus.groovy.runtime.metaclass.ClosureStaticMetaMethod.invoke(ClosureStaticMetaMethod.java:61)
        at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:149)
        at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:89)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.call(StaticMetaMethodSite.java:94)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
        at org.olf.PackageIngestService$_upsertPackage_closure13.doCall(PackageIngestService.groovy:241)
        at jdk.internal.reflect.GeneratedMethodAccessor1660.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
        at groovy.lang.Closure.call(Closure.java:405)
        at groovy.lang.Closure.call(Closure.java:421)
        at grails.gorm.transactions.GrailsTransactionTemplate$2.doInTransaction(GrailsTransactionTemplate.groovy:94)
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
        at grails.gorm.transactions.GrailsTransactionTemplate.execute(GrailsTransactionTemplate.groovy:91)
        at org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:1014)
        at org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:966)
        at org.grails.datastore.gorm.GormStaticApi.withNewTransaction(GormStaticApi.groovy:927)
        at org.grails.datastore.gorm.GormEntity$Trait$Helper.withNewTransaction(GormEntity.groovy:954)
        at org.grails.datastore.gorm.GormEntity$Trait$Helper$withNewTransaction$15.call(Unknown Source)
        at org.olf.kb.Pkg.withNewTransaction(Pkg.groovy)
        at org.olf.kb.Pkg$withNewTransaction.call(Unknown Source)
        at org.olf.PackageIngestService.upsertPackage(PackageIngestService.groovy:192)
        at org.olf.PackageIngestService$upsertPackage.callCurrent(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:51)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:156)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:184)
        at org.olf.PackageIngestService.upsertPackage(PackageIngestService.groovy:50)
        at org.olf.ImportService.importPackageFromKbart(ImportService.groovy:317)
        at org.olf.ImportService$importPackageFromKbart.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:135)
        at org.olf.general.jobs.KbartImportJob$_getWork_closure1$_closure4.doCall(KbartImportJob.groovy:59)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
        at groovy.lang.Closure.call(Closure.java:405)
        at groovy.lang.Closure.call(Closure.java:421)
        at grails.gorm.transactions.GrailsTransactionTemplate$2.doInTransaction(GrailsTransactionTemplate.groovy:94)
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
        at grails.gorm.transactions.GrailsTransactionTemplate.execute(GrailsTransactionTemplate.groovy:91)
        at org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:1014)
        at org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:877)
        at org.grails.datastore.gorm.GormEntity$Trait$Helper.withTransaction(GormEntity.groovy:941)
        at org.grails.datastore.gorm.GormEntity$Trait$Helper$withTransaction.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:135)
        at org.olf.general.jobs.PersistentJob.withTransaction(PersistentJob.groovy)
        at org.olf.general.jobs.PersistentJob$withTransaction$5.call(Unknown Source)
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:115)
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:127)
        at org.olf.general.jobs.KbartImportJob$_getWork_closure1.doCall(KbartImportJob.groovy:26)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1099)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1099)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
        at groovy.lang.Closure.call(Closure.java:405)
        at groovy.lang.Closure.call(Closure.java:399)
        at groovy.lang.Closure.run(Closure.java:486)
        at java_lang_Runnable$run.call(Unknown Source)
        at org.olf.general.jobs.JobRunnerService$__tt__executeJob_closure14$_closure21.doCall(JobRunnerService.groovy:549)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
        at groovy.lang.Closure.call(Closure.java:405)
        at groovy.lang.Closure.call(Closure.java:421)
        at grails.gorm.multitenancy.Tenants$_withId_closure2$_closure6.doCall(Tenants.groovy:265)
        at grails.gorm.multitenancy.Tenants$_withId_closure2$_closure6.call(Tenants.groovy)
        at org.grails.orm.hibernate.GrailsHibernateTemplate.doExecute(GrailsHibernateTemplate.java:297)
        at org.grails.orm.hibernate.GrailsHibernateTemplate.execute(GrailsHibernateTemplate.java:241)
        at org.grails.orm.hibernate.GrailsHibernateTemplate.executeWithNewSession(GrailsHibernateTemplate.java:153)
        at org.grails.orm.hibernate.GrailsHibernateTemplate.executeWithExistingOrCreateNewSession(GrailsHibernateTemplate.java:207)
        at org.grails.orm.hibernate.AbstractHibernateDatastore.withNewSession(AbstractHibernateDatastore.java:369)
        at grails.gorm.multitenancy.Tenants$_withId_closure2.doCall(Tenants.groovy:258)
        at grails.gorm.multitenancy.Tenants$_withId_closure2.call(Tenants.groovy)
        at grails.gorm.multitenancy.Tenants$CurrentTenant.withTenant(Tenants.groovy:358)
        at grails.gorm.multitenancy.Tenants.withId(Tenants.groovy:236)
        at grails.gorm.multitenancy.Tenants.withId(Tenants.groovy:169)
        at grails.gorm.multitenancy.Tenants$withId.call(Unknown Source)
        at org.olf.general.jobs.JobRunnerService$__tt__executeJob_closure14.doCall(JobRunnerService.groovy:548)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:101)
        at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
        at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:263)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1099)
        at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1041)
        at groovy.lang.Closure.call(Closure.java:405)
        at groovy.lang.Closure.call(Closure.java:399)
        at groovy.lang.Closure.run(Closure.java:486)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at java.base/java.lang.Thread.run(Unknown Source)

      Not completely sure why this is failing but possibly caused by lack of availabilityScope and lifecycleStatus on the KBART import (this should be allowed) leading to the lookupOrCreate process failing (https://github.com/folio-org/mod-agreements/blob/d4fd851b25ccfa0e7a8a0bf26c707c1fd7743c83/service/grails-app/services/org/olf/PackageIngestService.groovy#L241)

      TestRail: Results

        Attachments

          Issue Links

            Activity

              People

                ostephens Owen Stephens
                ostephens Owen Stephens
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:

                  TestRail: Runs

                    TestRail: Cases