Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PostgreSQL95Dialect running matchbox-server/with-preload #321

Open
dattachandan opened this issue Dec 17, 2024 · 1 comment
Open

PostgreSQL95Dialect running matchbox-server/with-preload #321

dattachandan opened this issue Dec 17, 2024 · 1 comment

Comments

@dattachandan
Copy link

dattachandan commented Dec 17, 2024

When I do a docker compose up with the instructions in the README, I get an error as below, has anyone fixed it? likely means that the Hibernate dependency or the PostgreSQL JDBC driver is not correctly included in the project

matchbox       | 2024-12-17 11:32:06.830  INFO [           main] mbedded.tomcat.TomcatWebServer:87: Tomcat initialized with port 8080 (http)
matchbox       | 2024-12-17 11:32:06.859  INFO [           main] .catalina.core.StandardService:173: Starting service [Tomcat]
matchbox       | 2024-12-17 11:32:06.859  INFO [           main] e.catalina.core.StandardEngine:173: Starting Servlet engine: [Apache Tomcat/10.1.33]
matchbox       | 2024-12-17 11:32:06.938  INFO [           main] .C.[.[localhost].[/matchboxv3]:173: Initializing Spring embedded WebApplicationContext
matchbox       | 2024-12-17 11:32:06.938  INFO [           main] letWebServerApplicationContext:87: Root WebApplicationContext: initialization completed in 4044 ms
matchbox       | 2024-12-17 11:32:07.016  INFO [           main] ca.uhn.fhir.util.VersionUtil  :84: HAPI FHIR version 7.6.0 - Rev 90237f70ff
matchbox       | 2024-12-17 11:32:07.023  INFO [           main] a.uhn.fhir.context.FhirContext:226: Creating new FHIR context for FHIR version [R4]
matchbox       | 2024-12-17 11:32:07.087  INFO [           main] .common.FhirServerConfigCommon:44: Server configured to allow contains searches
matchbox       | 2024-12-17 11:32:07.088  INFO [           main] .common.FhirServerConfigCommon:45: Server configured to deny multiple deletes
matchbox       | 2024-12-17 11:32:07.088  INFO [           main] .common.FhirServerConfigCommon:46: Server configured to deny external references
matchbox       | 2024-12-17 11:32:07.089  INFO [           main] .common.FhirServerConfigCommon:47: Server configured to enable DAO scheduling
matchbox       | 2024-12-17 11:32:07.089  INFO [           main] .common.FhirServerConfigCommon:48: Server configured to enable delete expunges
matchbox       | 2024-12-17 11:32:07.090  INFO [           main] .common.FhirServerConfigCommon:49: Server configured to enable expunges
matchbox       | 2024-12-17 11:32:07.090  INFO [           main] .common.FhirServerConfigCommon:50: Server configured to allow overriding default search params
matchbox       | 2024-12-17 11:32:07.091  INFO [           main] .common.FhirServerConfigCommon:51: Server configured to disable auto-creating placeholder references
matchbox       | 2024-12-17 11:32:07.122  INFO [           main] .common.FhirServerConfigCommon:100: Server configured to have a maximum fetch size of 'unlimited'
matchbox       | 2024-12-17 11:32:07.122  INFO [           main] .common.FhirServerConfigCommon:104: Server configured to cache search results for 1000 milliseconds
matchbox       | 2024-12-17 11:32:07.515  INFO [           main] te.jpa.internal.util.LogHelper:31: HHH000204: Processing PersistenceUnitInfo [name: HAPI_PU]
matchbox       | 2024-12-17 11:32:07.626  INFO [           main] org.hibernate.Version         :44: HHH000412: Hibernate ORM core version 6.4.10.Final
matchbox       | 2024-12-17 11:32:07.641  INFO [           main] teringSqlLoggerImplContributor:33: Adding service: SqlStatementFilteringLogger
matchbox       | 2024-12-17 11:32:07.690  INFO [           main] nternal.RegionFactoryInitiator:50: HHH000026: Second-level cache disabled
matchbox       | 2024-12-17 11:32:07.825  INFO [           main] oot.internal.EnversServiceImpl:76: Envers integration enabled? : true
matchbox       | 2024-12-17 11:32:08.142  INFO [           main] .j.p.SpringPersistenceUnitInfo:87: No LoadTimeWeaver setup: ignoring JPA class transformer
matchbox       | 2024-12-17 11:32:08.419  WARN [           main] j.e.i.JdbcEnvironmentInitiator:345: HHH000342: Could not obtain connection to query metadata
matchbox       | java.lang.Throwable: null
matchbox       |        at org.hibernate.boot.registry.classloading.internal.AggregatedClassLoader.findClass(AggregatedClassLoader.java:209)
matchbox       |        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:595)
matchbox       |        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:528)
matchbox       |        at java.base/java.lang.Class.forName0(Native Method)
matchbox       |        at java.base/java.lang.Class.forName(Class.java:578)
matchbox       |        at java.base/java.lang.Class.forName(Class.java:557)
matchbox       |        at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:123)
matchbox       |        at org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.selectStrategyImplementor(StrategySelectorImpl.java:150)
matchbox       |        Suppressed: java.lang.ClassNotFoundException: org.hibernate.dialect.PostgreSQL95Dialect
matchbox       |                at org.hibernate.boot.registry.classloading.internal.AggregatedClassLoader.findClass(AggregatedClassLoader.java:206) [2 skipped]
matchbox       |                at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:595)
matchbox       |                at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:528)
matchbox       |                at java.base/java.lang.Class.forName0(Native Method)
matchbox       |                at java.base/java.lang.Class.forName(Class.java:578)
matchbox       |                at java.base/java.lang.Class.forName(Class.java:557)
matchbox       |                at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:123)
matchbox       |                at org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.selectStrategyImplementor(StrategySelectorImpl.java:150)
matchbox       |        Suppressed: java.lang.ClassNotFoundException: org.hibernate.dialect.PostgreSQL95Dialect
matchbox       |                at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:445)
matchbox       |                at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:595)
matchbox       |                at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:528) [2 skipped]
matchbox       |                at org.hibernate.boot.registry.classloading.internal.AggregatedClassLoader.findClass(AggregatedClassLoader.java:206)
matchbox       |                at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:595)
matchbox       |                at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:528)
matchbox       |                at java.base/java.lang.Class.forName0(Native Method)
matchbox       |                at java.base/java.lang.Class.forName(Class.java:578)
matchbox       |        Suppressed: java.lang.ClassNotFoundException: org.hibernate.dialect.PostgreSQL95Dialect
matchbox       |                at org.hibernate.boot.registry.classloading.internal.AggregatedClassLoader.findClass(AggregatedClassLoader.java:206) [2 skipped]
matchbox       |                at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:595)
matchbox       |                at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:528)
matchbox       |                at java.base/java.lang.Class.forName0(Native Method)
matchbox       |                at java.base/java.lang.Class.forName(Class.java:578)
matchbox       |                at java.base/java.lang.Class.forName(Class.java:557)
matchbox       |                at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:123)
matchbox       |                at org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.selectStrategyImplementor(StrategySelectorImpl.java:150)
matchbox       |        Suppressed: java.lang.ClassNotFoundException: org.hibernate.dialect.PostgreSQL95Dialect
matchbox       |                at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
matchbox       |                at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
matchbox       |                at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:528)
matchbox       |                at org.hibernate.boot.registry.classloading.internal.AggregatedClassLoader.findClass(AggregatedClassLoader.java:206)
matchbox       |                at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:595)
matchbox       |                at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:528)
matchbox       |                at java.base/java.lang.Class.forName0(Native Method)
matchbox       |                at java.base/java.lang.Class.forName(Class.java:578)
matchbox       | Wrapped by: java.lang.ClassNotFoundException: Could not load requested class : org.hibernate.dialect.PostgreSQL95Dialect
matchbox       |        at org.hibernate.boot.registry.classloading.internal.AggregatedClassLoader.findClass(AggregatedClassLoader.java:216)
matchbox       |        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:595)
matchbox       |        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:528)
matchbox       |        at java.base/java.lang.Class.forName0(Native Method)
matchbox       |        at java.base/java.lang.Class.forName(Class.java:578)
matchbox       |        at java.base/java.lang.Class.forName(Class.java:557)
matchbox       |        at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:123)
matchbox       |        at org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.selectStrategyImplementor(StrategySelectorImpl.java:150)
matchbox       | Wrapped by: org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [org.hibernate.dialect.PostgreSQL95Dialect]
matchbox       |        at org.hibernate.boot.registry.classloading.internal.ClassLoaderServiceImpl.classForName(ClassLoaderServiceImpl.java:126)
matchbox       |        at org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.selectStrategyImplementor(StrategySelectorImpl.java:150)
matchbox       |        at org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.resolveStrategy(StrategySelectorImpl.java:236)
matchbox       |        at org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.resolveStrategy(StrategySelectorImpl.java:189)
matchbox       |        at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.constructDialect(DialectFactoryImpl.java:123)
matchbox       |        at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:88)
matchbox       |        at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$1.execute(JdbcEnvironmentInitiator.java:328)
matchbox       |        at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$1.execute(JdbcEnvironmentInitiator.java:277)
matchbox       | Wrapped by: org.hibernate.boot.registry.selector.spi.StrategySelectionException: Unable to resolve name [org.hibernate.dialect.PostgreSQL95Dialect] as strategy [org.hibernate.dialect.Dialect]
matchbox       |        at org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.selectStrategyImplementor(StrategySelectorImpl.java:154)
matchbox       |        at org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.resolveStrategy(StrategySelectorImpl.java:236)
matchbox       |        at org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.resolveStrategy(StrategySelectorImpl.java:189)
matchbox       |        at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.constructDialect(DialectFactoryImpl.java:123)
matchbox       |        at org.hibernate.engine.jdbc.dialect.internal.DialectFactoryImpl.buildDialect(DialectFactoryImpl.java:88)
matchbox       |        at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$1.execute(JdbcEnvironmentInitiator.java:328)
matchbox       |        at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator$1.execute(JdbcEnvironmentInitiator.java:277)
matchbox       |        at org.hibernate.jdbc.WorkExecutor.executeReturningWork(WorkExecutor.java:58)
matchbox       | 2024-12-17 11:32:08.428 ERROR [           main] tainerEntityManagerFactoryBean:87: Failed to initialize JPA EntityManagerFactory: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment] due to: Unable to resolve name [org.hibernate.dialect.PostgreSQL95Dialect] as strategy [org.hibernate.dialect.Dialect]
matchbox       | 2024-12-17 11:32:08.431 ERROR [           main] .embedded.tomcat.TomcatStarter:87: Error starting Tomcat context. Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. Message: Error creating bean with name 'hapiServletRegistration' defined in ca.uhn.fhir.jpa.starter.Application: Unsatisfied dependency expressed through method 'hapiServletRegistration' parameter 0: Error creating bean with name 'ch.ahdis.matchbox.config.MatchboxJpaConfig': Unsatisfied dependency expressed through field 'assembleProviderR4': Error creating bean with name 'assembleProvider': Unsatisfied dependency expressed through field 'matchboxEngineSupport': Error creating bean with name 'getMatchboxEngineSupport': Unsatisfied dependency expressed through field 'myPackageVersionResourceDao': Error creating bean with name 'INpmPackageVersionResourceDao' defined in ca.uhn.fhir.jpa.dao.data.INpmPackageVersionResourceDao defined in @EnableJpaRepositories declared on JpaConfig: Cannot resolve reference to bean 'jpaSharedEM_entityManagerFactory' while setting bean property 'entityManager'
@qligier
Copy link
Member

qligier commented Dec 17, 2024

Hi @dattachandan!

We are running it with either spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect, or without specifying that property.
The class PostgreSQL95Dialect was removed in the Hibernate 6.0 migration.

We need to update that in these configurations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants