Informatievlaanderen / VSDS-Tech-Docs

Technical documentation, part of the VSDS Portal
https://informatievlaanderen.github.io/VSDS-Tech-Docs/
0 stars 9 forks source link

README: quick-start_ldes-server exits with error. #9

Closed ghsnd closed 1 year ago

ghsnd commented 1 year ago

When starting the docker containers following the instructions in the README, the quick-start_ldes-server container exits with an error. Here's part of the logging:

quick-start_ldes-server   | 2023-04-04T07:27:59.916Z  WARN 1 --- [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'applicationRunner' defined in class path resource [io/mongock/runner/springboot/config/MongockContext.class]: Failed to instantiate [io.mongock.runner.springboot.base.MongockApplicationRunner]: Factory method 'applicationRunner' threw exception with message: Scan package for changeLogs is not set: use appropriate setter
quick-start_ldes-server   | 2023-04-04T07:27:59.930Z  WARN 1 --- [           main] o.a.c.loader.WebappClassLoaderBase       : The web application [ROOT] appears to have started a thread named [BatchSpanProcessor_WorkerThread-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
quick-start_ldes-server   |  java.base@18-ea/jdk.internal.misc.Unsafe.park(Native Method)
quick-start_ldes-server   |  java.base@18-ea/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
quick-start_ldes-server   |  java.base@18-ea/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1672)
quick-start_ldes-server   |  java.base@18-ea/java.util.concurrent.ArrayBlockingQueue.poll(ArrayBlockingQueue.java:435)
quick-start_ldes-server   |  io.opentelemetry.sdk.trace.export.BatchSpanProcessor$Worker.run(BatchSpanProcessor.java:252)
quick-start_ldes-server   |  java.base@18-ea/java.lang.Thread.run(Thread.java:833)
quick-start_ldes-server   | 2023-04-04T07:27:59.958Z  INFO 1 --- [           main] .s.b.a.l.ConditionEvaluationReportLogger : 
quick-start_ldes-server   | 
quick-start_ldes-server   | Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
quick-start_ldes-server   | 2023-04-04T07:27:59.977Z ERROR 1 --- [           main] o.s.boot.SpringApplication               : Application run failed
quick-start_ldes-server   | 
quick-start_ldes-server   | org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'applicationRunner' defined in class path resource [io/mongock/runner/springboot/config/MongockContext.class]: Failed to instantiate [io.mongock.runner.springboot.base.MongockApplicationRunner]: Factory method 'applicationRunner' threw exception with message: Scan package for changeLogs is not set: use appropriate setter
quick-start_ldes-server   |     at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:657) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:6.0.7]
quick-start_ldes-server   |     at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:645) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:6.0.7]
quick-start_ldes-server   |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1332) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:6.0.7]
quick-start_ldes-server   |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1162) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:6.0.7]
quick-start_ldes-server   |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:560) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:6.0.7]
quick-start_ldes-server   |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:520) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:6.0.7]
quick-start_ldes-server   |     at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:326) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:6.0.7]
quick-start_ldes-server   |     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:6.0.7]
quick-start_ldes-server   |     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:324) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:6.0.7]
quick-start_ldes-server   |     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:6.0.7]
quick-start_ldes-server   |     at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:6.0.7]
quick-start_ldes-server   |     at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:917) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:6.0.7]
quick-start_ldes-server   |     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:584) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:6.0.7]
quick-start_ldes-server   |     at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:3.0.5]
quick-start_ldes-server   |     at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:3.0.5]
quick-start_ldes-server   |     at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:3.0.5]
quick-start_ldes-server   |     at org.springframework.boot.SpringApplication.run(SpringApplication.java:310) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:3.0.5]
quick-start_ldes-server   |     at org.springframework.boot.SpringApplication.run(SpringApplication.java:1304) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:3.0.5]
quick-start_ldes-server   |     at org.springframework.boot.SpringApplication.run(SpringApplication.java:1293) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:3.0.5]
quick-start_ldes-server   |     at be.vlaanderen.informatievlaanderen.ldes.server.Application.main(Application.java:9) ~[classes!/:na]
quick-start_ldes-server   |     at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na]
quick-start_ldes-server   |     at java.base/java.lang.reflect.Method.invoke(Method.java:577) ~[na:na]
quick-start_ldes-server   |     at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49) ~[ldes-server-application.jar:na]
quick-start_ldes-server   |     at org.springframework.boot.loader.Launcher.launch(Launcher.java:95) ~[ldes-server-application.jar:na]
quick-start_ldes-server   |     at org.springframework.boot.loader.Launcher.launch(Launcher.java:58) ~[ldes-server-application.jar:na]
quick-start_ldes-server   |     at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:466) ~[ldes-server-application.jar:na]
quick-start_ldes-server   | Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.mongock.runner.springboot.base.MongockApplicationRunner]: Factory method 'applicationRunner' threw exception with message: Scan package for changeLogs is not set: use appropriate setter
quick-start_ldes-server   |     at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:171) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:6.0.7]
quick-start_ldes-server   |     at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:6.0.7]
quick-start_ldes-server   |     ... 25 common frames omitted
quick-start_ldes-server   | Caused by: io.mongock.api.exception.MongockException: Scan package for changeLogs is not set: use appropriate setter
quick-start_ldes-server   |     at io.mongock.runner.core.executor.ExecutorBuilderBase.validateScanPackage(ExecutorBuilderBase.java:131) ~[mongock-changeset-1-jar-with-dependencies.jar:na]
quick-start_ldes-server   |     at io.mongock.runner.core.executor.ExecutorBuilderDefault.getExecutorByOperation(ExecutorBuilderDefault.java:28) ~[mongock-changeset-1-jar-with-dependencies.jar:na]
quick-start_ldes-server   |     at io.mongock.runner.core.executor.ExecutorBuilderBase.buildOperationExecutor(ExecutorBuilderBase.java:87) ~[mongock-changeset-1-jar-with-dependencies.jar:na]
quick-start_ldes-server   |     at io.mongock.runner.core.builder.RunnerBuilderBase.buildOperationExecutor(RunnerBuilderBase.java:239) ~[mongock-changeset-1-jar-with-dependencies.jar:na]
quick-start_ldes-server   |     at io.mongock.runner.core.builder.RunnerBuilderBase.buildRunner(RunnerBuilderBase.java:146) ~[mongock-changeset-1-jar-with-dependencies.jar:na]
quick-start_ldes-server   |     at io.mongock.runner.core.builder.RunnerBuilderBase.buildRunner(RunnerBuilderBase.java:131) ~[mongock-changeset-1-jar-with-dependencies.jar:na]
quick-start_ldes-server   |     at io.mongock.runner.core.builder.RunnerBuilderBase.buildRunner(RunnerBuilderBase.java:126) ~[mongock-changeset-1-jar-with-dependencies.jar:na]
quick-start_ldes-server   |     at io.mongock.runner.springboot.base.builder.SpringbootBuilderBase.buildApplicationRunner(SpringbootBuilderBase.java:103) ~[mongock-changeset-1-jar-with-dependencies.jar:na]
quick-start_ldes-server   |     at io.mongock.runner.springboot.base.config.MongockContextBase.applicationRunner(MongockContextBase.java:27) ~[mongock-changeset-1-jar-with-dependencies.jar:na]
quick-start_ldes-server   |     at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) ~[na:na]
quick-start_ldes-server   |     at java.base/java.lang.reflect.Method.invoke(Method.java:577) ~[na:na]
quick-start_ldes-server   |     at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:139) ~[ldes-fragmentisers-geospatial-jar-with-dependencies.jar:6.0.7]
quick-start_ldes-server   |     ... 26 common frames omitted

I tested on a Linux host, a colleague of mine tested on a Windows host with the same result.

xdxxxdx commented 1 year ago

Hello @ghsnd ,

Thanks so much for reporting the issue.

Indeed, The latest tag of ldes-server (build 20230404T0736) crashed. As the server is still under development. I modify the docker tag to commit: 20230314T0913 (relatively stable one) Please have a try with the modified docker compose: https://informatievlaanderen.github.io/VSDS-Tech-Docs/docs/quickstart.html#start-your-ldes-server Also feel free to ping me if you need other info. Thanks Xueying

Yalz commented 1 year ago

Hi @ghsnd, @xdxxxdx,

As part of the introduced feature to upgrade old servers, we require a mongock configuration.

To your issue, you can add MONGOCK_MIGRATIONSCANPACKAGE_0=be.vlaanderen.informatievlaanderen.ldes.server.infra.mongo.mongock.changeset1

For a permanent solution, we've created a GitHub issue : https://github.com/Informatievlaanderen/VSDS-LDESServer4J/issues/489

ghsnd commented 1 year ago

It works now if you follow the docs, so I'll close the issue.