Informatievlaanderen / VSDS-Linked-Data-Interactions

https://informatievlaanderen.github.io/VSDS-Linked-Data-Interactions/
European Union Public License 1.2
4 stars 6 forks source link

LDES client persistence in NiFi is broken #261

Closed rorlic closed 1 year ago

rorlic commented 1 year ago

An exception is thrown when running test 020 example 2 (NiFi): java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.cfg.Environment

To Reproduce Steps to reproduce the behavior: Run test 020 using NiFi workbench.

npx cypress run -e tags="@test-020 and @nifi" -s "cypress/e2e/client.persistence.feature"

Expected behavior Test 020 on NiFi runs without errors.

Log

2023-07-14 07:58:10,552 ERROR [Timer-Driven Process Thread-9] b.v.i.ldes.ldi.processors.LdesClient LdesClient[id=0d888fc0-bdfa-397d-3e98-722bde39adf9] Failed to properly initialize Processor. If still scheduled to run, NiFi will attempt to initialize and run the Processor again after the 'Administrative Yield Duration' has elapsed. Failure is due to java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.cfg.Environment
java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.cfg.Environment
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$MergedSettings.<init>(EntityManagerFactoryBuilderImpl.java:1616)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$MergedSettings.<init>(EntityManagerFactoryBuilderImpl.java:1606)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.mergeSettings(EntityManagerFactoryBuilderImpl.java:505)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:231)
        at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:189)
        at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:75)
        at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilder(HibernatePersistenceProvider.java:171)
        at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:119)
        at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilderOrNull(HibernatePersistenceProvider.java:61)
        at org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:50)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79)
        at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
        at ldes.client.treenodesupplier.repository.sqlite.EntityManagerFactory.<init>(EntityManagerFactory.java:26)
        at ldes.client.treenodesupplier.repository.sqlite.EntityManagerFactory.getInstance(EntityManagerFactory.java:37)
        at ldes.client.treenodesupplier.repository.sqlite.SqliteMemberRepository.<init>(SqliteMemberRepository.java:12)
        at ldes.client.treenodesupplier.domain.services.MemberRepositoryFactory.getMemberRepository(MemberRepositoryFactory.java:16)
        at ldes.client.treenodesupplier.domain.valueobject.StatePersistence.from(StatePersistence.java:19)
        at be.vlaanderen.informatievlaanderen.ldes.ldi.processors.LdesClient.onScheduled(LdesClient.java:72)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:577)
        at org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:145)
        at org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:133)
        at org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotations(ReflectionUtils.java:78)
        at org.apache.nifi.util.ReflectionUtils.invokeMethodsWithAnnotation(ReflectionUtils.java:55)
        at org.apache.nifi.controller.StandardProcessorNode.lambda$initiateStart$8(StandardProcessorNode.java:1736)
        at org.apache.nifi.engine.FlowEngine$3.call(FlowEngine.java:123)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.NoClassDefFoundError: net/bytebuddy/NamingStrategy$SuffixingRandom$BaseNameResolver [in thread "Timer-Driven Process Thread-4"]
        at org.hibernate.cfg.Environment.buildBytecodeProvider(Environment.java:345)
        at org.hibernate.cfg.Environment.buildBytecodeProvider(Environment.java:337)
        at org.hibernate.cfg.Environment.<clinit>(Environment.java:230)
        ... 31 common frames omitted
rorlic commented 1 year ago

Verified and approved.