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

Migration to Quarkus3 #626

Closed
wants to merge 14 commits into from
Closed

Migration to Quarkus3 #626

wants to merge 14 commits into from

Conversation

stalep
Copy link
Member

@stalep stalep commented Aug 17, 2023

Fixes Issue

Changes proposed

Check List (Check all the applicable boxes)

  • My code follows the code style of this project.
  • My change requires changes to the documentation.
  • I have updated the documentation accordingly.
  • All new and existing tests passed.

@stalep
Copy link
Member Author

stalep commented Aug 17, 2023

Two tests are failing:
RunServiceTest.testUploadToPrivateUsingToken
DatasetServiceTest.testDatasetView
Both are query/db related so I 'm thinking @jesperpedersen might be the guy to fix it :)
Note that I also changed the quarkus.hibernate-orm.dialect=org.hibernate.dialect.PostgreSQL10Dialect in application.properties as this new dialect supports json(b).

@jesperpedersen
Copy link
Collaborator

HHH90000026: PostgreSQL10Dialect has been deprecated; use org.hibernate.dialect.PostgreSQLDialect instead

@jesperpedersen
Copy link
Collaborator

Suppressed: org.hibernate.exception.SQLGrammarException: could not execute statement [ERROR: new row violates row-level security policy for table "run"] [insert into run (access,data,description,metadata,owner,start,stop,testid,token,trashed,id) values (?,?,?,?,?,?,?,?,?,?,?)]

@jesperpedersen
Copy link
Collaborator

2023-08-17 10:57:29,860 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (executor-thread-1) HTTP Request to /api/dataset/list/24 failed, error id: 94dda504-da0d-45ce-9b16-747e6cd711bb-1: org.hibernate.exception.SQLGrammarException: JDBC exception executing SQL [WITH schema_agg AS (SELECT dataset_id, jsonb_agg(jsonb_build_object('id', schema.id, 'uri', ds.uri, 'name', schema.name, 'source', 0, 'type', 2, 'key', ds.index::text, 'hasJsonSchema', schema.schema IS NOT NULL)) AS schemas FROM dataset_schemas ds JOIN dataset ON dataset.id = ds.dataset_id JOIN schema ON schema.id = ds.schema_id WHERE testid = ? GROUP BY dataset_id), validation AS (SELECT dataset_id, jsonb_agg(jsonb_build_object('schemaId', schema_id, 'error', error)) AS errors FROM dataset_validationerrors GROUP BY dataset_id) SELECT ds.id, ds.runid AS runId, ds.ordinal, ds.testid AS testId, test.name AS testname, ds.description, EXTRACT(EPOCH FROM ds.start) * 1000 AS start, EXTRACT(EPOCH FROM ds.stop) * 1000 AS stop, ds.owner, ds.access, dv.value AS view, COALESCE(schema_agg.schemas, '[]') AS schemas, COALESCE(validation.errors, '[]') AS validationErrors FROM dataset ds LEFT JOIN test ON test.id = ds.testid LEFT JOIN schema_agg ON schema_agg.dataset_id = ds.id LEFT JOIN validation ON validation.dataset_id = ds.id LEFT JOIN dataset_view dv ON dv.dataset_id = ds.id AND dv.view_id = (SELECT id FROM view WHERE test_id = ? AND name = 'Default') WHERE testid = ? AND ? IS NULL ORDER BY start ASC NULLS LAST] [ERROR: could not determine data type of parameter $4] [n/a]
	at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:89)
	at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:56)
	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:108)
	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:94)
	at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.executeQuery(DeferredResultSetAccess.java:257)
	at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.getResultSet(DeferredResultSetAccess.java:163)
	at org.hibernate.sql.results.jdbc.internal.AbstractResultSetAccess.getMetaData(AbstractResultSetAccess.java:36)
	at org.hibernate.sql.results.jdbc.internal.AbstractResultSetAccess.getColumnCount(AbstractResultSetAccess.java:52)
	at org.hibernate.query.results.ResultSetMappingImpl.resolve(ResultSetMappingImpl.java:193)
	at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.resolveJdbcValuesSource(JdbcSelectExecutorStandardImpl.java:477)
	at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.doExecuteQuery(JdbcSelectExecutorStandardImpl.java:267)
	at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.executeQuery(JdbcSelectExecutorStandardImpl.java:168)
	at org.hibernate.sql.exec.internal.JdbcSelectExecutorStandardImpl.list(JdbcSelectExecutorStandardImpl.java:93)
	at org.hibernate.sql.exec.spi.JdbcSelectExecutor.list(JdbcSelectExecutor.java:31)
	at org.hibernate.query.sql.internal.NativeSelectQueryPlanImpl.performList(NativeSelectQueryPlanImpl.java:97)
	at org.hibernate.query.sql.internal.NativeQueryImpl.doList(NativeQueryImpl.java:621)
	at org.hibernate.query.spi.AbstractSelectionQuery.list(AbstractSelectionQuery.java:367)
	at org.hibernate.query.Query.getResultList(Query.java:119)
	at io.hyperfoil.tools.horreum.svc.DatasetServiceImpl.listByTest(DatasetServiceImpl.java:197)
	at io.hyperfoil.tools.horreum.svc.DatasetServiceImpl_Subclass.listByTest$$superforward(Unknown Source)
	at io.hyperfoil.tools.horreum.svc.DatasetServiceImpl_Subclass$$function$$3.apply(Unknown Source)
	at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:73)
	at io.quarkus.arc.impl.AroundInvokeInvocationContext$NextAroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:97)
	at io.hyperfoil.tools.horreum.server.RolesInterceptor.intercept(RolesInterceptor.java:70)
	at io.hyperfoil.tools.horreum.server.RolesInterceptor_Bean.intercept(Unknown Source)
	at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:42)
	at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:70)
	at io.quarkus.arc.impl.AroundInvokeInvocationContext$NextAroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:97)
	at io.quarkus.security.runtime.interceptor.SecurityHandler.handle(SecurityHandler.java:47)
	at io.quarkus.security.runtime.interceptor.PermitAllInterceptor.intercept(PermitAllInterceptor.java:23)
	at io.quarkus.security.runtime.interceptor.PermitAllInterceptor_Bean.intercept(Unknown Source)
	at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:42)
	at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:70)
	at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:62)
	at io.quarkus.resteasy.reactive.server.runtime.StandardSecurityCheckInterceptor.intercept(StandardSecurityCheckInterceptor.java:44)
	at io.quarkus.resteasy.reactive.server.runtime.StandardSecurityCheckInterceptor_PermitAllInterceptor_Bean.intercept(Unknown Source)
	at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:42)
	at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:30)
	at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:27)
	at io.hyperfoil.tools.horreum.svc.DatasetServiceImpl_Subclass.listByTest(Unknown Source)
	at io.hyperfoil.tools.horreum.svc.DatasetServiceImpl_ClientProxy.listByTest(Unknown Source)
	at io.hyperfoil.tools.horreum.api.services.DatasetService$quarkusrestinvoker$listByTest_092fd7d50183e1157af107801a2ac67a9cb881af.invoke(Unknown Source)
	at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29)
	at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:141)
	at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:145)
	at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:576)
	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
	at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
	at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: org.postgresql.util.PSQLException: ERROR: could not determine data type of parameter $4
	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2713)
	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2401)
	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:368)
	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:327)
	at org.postgresql.jdbc.PgPreparedStatement.getParameterMetaData(PgPreparedStatement.java:1706)
	at io.agroal.pool.wrapper.PreparedStatementWrapper.getParameterMetaData(PreparedStatementWrapper.java:429)
	at org.hibernate.type.descriptor.jdbc.ObjectNullResolvingJdbcType$1.doBindNull(ObjectNullResolvingJdbcType.java:45)
	at org.hibernate.type.descriptor.jdbc.BasicBinder.bind(BasicBinder.java:51)
	at org.hibernate.sql.exec.internal.AbstractJdbcParameter.bindParameterValue(AbstractJdbcParameter.java:118)
	at org.hibernate.sql.exec.internal.AbstractJdbcParameter.bindParameterValue(AbstractJdbcParameter.java:108)
	at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.bindParameters(DeferredResultSetAccess.java:199)
	at org.hibernate.sql.results.jdbc.internal.DeferredResultSetAccess.executeQuery(DeferredResultSetAccess.java:228)
	... 47 more

@jesperpedersen
Copy link
Collaborator

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.vmplugin.v9.Java9 (file:~/.m2/repository/org/apache/groovy/groovy/4.0.6/groovy-4.0.6.jar) to constructor java.lang.AssertionError(java.lang.String)
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.vmplugin.v9.Java9
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release

@jesperpedersen
Copy link
Collaborator

 WARN  [org.hib.sql.res.jdb.int.DeferredResultSetAccess] (executor-thread-4) HHH000444: Encountered request for locking however dialect reports that database prefers locking be done in a separate select (follow-on locking); results will be locked after initial query executes

@stalep
Copy link
Member Author

stalep commented Aug 17, 2023

force pushed the dialect change

@stalep
Copy link
Member Author

stalep commented Aug 17, 2023

@jesperpedersen
Copy link
Collaborator

We should raise the minimum requirement to JDK 17, so the pom.xml (maven.compiler.target) files and the YAML under .github/workflows needs to be changed

@jesperpedersen
Copy link
Collaborator

Quarkus 3.2.4.Final is out

@johnaohara
Copy link
Member

We should raise the minimum requirement to JDK 17, so the pom.xml (maven.compiler.target) files and the YAML under .github/workflows needs to be changed

Atm the client and api modules still need to be backward comptable with 1.8 as that is the min version for the Jenkins plugin atm. Unless we want to sync on bumping the min jenkins version right now

@shivam-sharma7
Copy link
Member

Quarkus 3.2.4.Final is out

@jesperpedersen 3.3.0 is also

@jesperpedersen
Copy link
Collaborator

3.3.x is in CR stage atm

@jesperpedersen
Copy link
Collaborator

@johnaohara We should investigate what it takes to go to 17/LTS

@stalep
Copy link
Member Author

stalep commented Aug 17, 2023

see-https://github.com/Hyperfoil/Horreum/actions/runs/5892568316/job/15982162172?pr=626#step:6:3128

force pushed a fix, thanks!

@shivam-sharma7
Copy link
Member

Did Build success locally?

@stalep
Copy link
Member Author

stalep commented Aug 17, 2023

Did Build success locally?

No, I have two failures locally as mentioned in the first comment

@jesperpedersen
Copy link
Collaborator

Could you look at the CI failures ? I can recreate locally with mvn clean install -B --file pom.xml -DskipTests -DskipITs

@johnaohara
Copy link
Member

@jesperpedersen @stalep the integration test failure is caused by having resteasy classic and resteasy reactive on the classpath

@geoand
Copy link
Contributor

geoand commented Sep 3, 2023

I know nothing about Quinoa unfortunately, so I'll summon @ia3andy

@shivam-sharma7
Copy link
Member

@stalep did you try mvn clean install ? if so then try quinoa 2.1.0 version

@johnaohara
Copy link
Member

@stalep i ran in to this last week, cherry-picking the PR onto quarkus 3.3.0 tag got the proj building for me, but now rebase is not working, looks like transient issue.
I tripped through build with debugger, and correct class is picked up and debugger correctly populated field. 2.1.0 does not work either, we should open issue in Quinoa

@ia3andy
Copy link

ia3andy commented Sep 5, 2023

ok the api changed and we need a new release with 3.3.0

@ia3andy
Copy link

ia3andy commented Sep 5, 2023

ok the api changed and we need a new release with 3.3.0

Ok, I was wrong, I checked 3.3.0 and it should work the problem is with 999-SNAPSHOT because the HttpBuildTimeConfig class is now an interface.

@johnaohara
Copy link
Member

So, with the following builds;

I am able to get Horreum integration tests to pass & dev mode to bootstrap.

The issues I now see is an exception thrown when dev mode starts and horreum tries to retrieve the banner;

ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (executor-thread-1) HTTP Request to /api/banner failed, error id: 0429eef0-047d-4abf-9348-d60ec626a431-1: java.lang.IllegalArgumentException: org.hibernate.query.SemanticException: A query exception occurred [SELECT b FROM Banner b WHERE active IS TRUE ORDER BY created DESC]
	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:138)
	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:162)
	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:168)
	at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:795)
	at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:704)
	at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:120)
	at io.quarkus.hibernate.orm.runtime.session.TransactionScopedSession.createQuery(TransactionScopedSession.java:367)
	at org.hibernate.engine.spi.SessionLazyDelegator.createQuery(SessionLazyDelegator.java:548)
	at org.hibernate.engine.spi.SessionLazyDelegator.createQuery(SessionLazyDelegator.java:66)
	at org.hibernate.Session_3a974b6a18ac399f675913d732c105426414d370_Synthetic_ClientProxy.createQuery(Unknown Source)
	at io.hyperfoil.tools.horreum.svc.BannerServiceImpl.getBanner(BannerServiceImpl.java:79)
	at io.hyperfoil.tools.horreum.svc.BannerServiceImpl.get(BannerServiceImpl.java:73)
	at io.hyperfoil.tools.horreum.svc.BannerServiceImpl_Subclass.get$$superforward(Unknown Source)
	at io.hyperfoil.tools.horreum.svc.BannerServiceImpl_Subclass$$function$$1.apply(Unknown Source)
	at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:73)
	at io.quarkus.arc.impl.AroundInvokeInvocationContext$NextAroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:97)
	at io.quarkus.security.runtime.interceptor.SecurityHandler.handle(SecurityHandler.java:47)
	at io.quarkus.security.runtime.interceptor.PermitAllInterceptor.intercept(PermitAllInterceptor.java:23)
	at io.quarkus.security.runtime.interceptor.PermitAllInterceptor_Bean.intercept(Unknown Source)
	at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:42)
	at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:70)
	at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:62)
	at io.quarkus.resteasy.reactive.server.runtime.StandardSecurityCheckInterceptor.intercept(StandardSecurityCheckInterceptor.java:44)
	at io.quarkus.resteasy.reactive.server.runtime.StandardSecurityCheckInterceptor_PermitAllInterceptor_Bean.intercept(Unknown Source)
	at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:42)
	at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:30)
	at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:27)
	at io.hyperfoil.tools.horreum.svc.BannerServiceImpl_Subclass.get(Unknown Source)
	at io.hyperfoil.tools.horreum.api.services.BannerService$quarkusrestinvoker$get_52b81063743d20c3506d6753e63802697efd64f9.invoke(Unknown Source)
	at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29)
	at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:141)
	at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:147)
	at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:582)
	at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513)
	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538)
	at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29)
	at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: org.hibernate.query.SemanticException: A query exception occurred [SELECT b FROM Banner b WHERE active IS TRUE ORDER BY created DESC]
	at org.hibernate.query.hql.internal.StandardHqlTranslator.parseHql(StandardHqlTranslator.java:130)
	at org.hibernate.query.hql.internal.StandardHqlTranslator.translate(StandardHqlTranslator.java:77)
	at org.hibernate.internal.AbstractSharedSessionContract.lambda$interpretHql$2(AbstractSharedSessionContract.java:744)
	at org.hibernate.query.internal.QueryInterpretationCacheStandardImpl.createHqlInterpretation(QueryInterpretationCacheStandardImpl.java:141)
	at org.hibernate.query.internal.QueryInterpretationCacheStandardImpl.resolveHqlInterpretation(QueryInterpretationCacheStandardImpl.java:128)
	at org.hibernate.internal.AbstractSharedSessionContract.interpretHql(AbstractSharedSessionContract.java:741)
	at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:786)
	... 35 more
Caused by: org.hibernate.query.sqm.ParsingException: line 1:39 no viable alternative at input 'SELECTbFROMBannerbWHEREactiveISTRUE'
	at org.hibernate.query.hql.internal.StandardHqlTranslator$1.syntaxError(StandardHqlTranslator.java:46)
	at org.antlr.v4.runtime.ProxyErrorListener.syntaxError(ProxyErrorListener.java:41)
	at org.antlr.v4.runtime.Parser.notifyErrorListeners(Parser.java:543)
	at org.antlr.v4.runtime.DefaultErrorStrategy.reportNoViableAlternative(DefaultErrorStrategy.java:310)
	at org.antlr.v4.runtime.DefaultErrorStrategy.reportError(DefaultErrorStrategy.java:136)
	at org.hibernate.grammars.hql.HqlParser.queryExpression(HqlParser.java:1780)
	at org.hibernate.grammars.hql.HqlParser.selectStatement(HqlParser.java:400)
	at org.hibernate.grammars.hql.HqlParser.statement(HqlParser.java:331)
	at org.hibernate.query.hql.internal.StandardHqlTranslator.parseHql(StandardHqlTranslator.java:116)
	... 41 more

image

and some queries are failing;

java.lang.IllegalArgumentException: org.hibernate.query.SemanticException: Could not interpret path expression 'test_id'
	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:138)
	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:162)
	at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:168)
	at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:795)
	at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:704)
	at org.hibernate.internal.AbstractSharedSessionContract.createQuery(AbstractSharedSessionContract.java:120)
	at io.quarkus.hibernate.orm.runtime.session.TransactionScopedSession.createQuery(TransactionScopedSession.java:367)
	at org.hibernate.engine.spi.SessionLazyDelegator.createQuery(SessionLazyDelegator.java:548)
	at org.hibernate.engine.spi.SessionLazyDelegator.createQuery(SessionLazyDelegator.java:66)
	at org.hibernate.Session_3a974b6a18ac399f675913d732c105426414d370_Synthetic_ClientProxy.createQuery(Unknown Source)
	at io.quarkus.hibernate.orm.panache.common.runtime.CommonPanacheQueryImpl.createBaseQuery(CommonPanacheQueryImpl.java:366)
	at io.quarkus.hibernate.orm.panache.common.runtime.CommonPanacheQueryImpl.createQuery(CommonPanacheQueryImpl.java:327)
	at io.quarkus.hibernate.orm.panache.common.runtime.CommonPanacheQueryImpl.list(CommonPanacheQueryImpl.java:278)
	at io.quarkus.hibernate.orm.panache.runtime.PanacheQueryImpl.list(PanacheQueryImpl.java:149)
	at io.quarkus.hibernate.orm.panache.runtime.JpaOperations.list(JpaOperations.java:24)
	at io.quarkus.hibernate.orm.panache.runtime.JpaOperations.list(JpaOperations.java:10)
	at io.quarkus.hibernate.orm.panache.common.runtime.AbstractJpaOperations.list(AbstractJpaOperations.java:245)
	at io.hyperfoil.tools.horreum.entity.ExperimentProfileDAO.list(ExperimentProfileDAO.java)
	at io.hyperfoil.tools.horreum.svc.ExperimentServiceImpl.profiles(ExperimentServiceImpl.java:79)
	at io.hyperfoil.tools.horreum.svc.ExperimentServiceImpl_Subclass.profiles$$superforward(Unknown Source)
	at io.hyperfoil.tools.horreum.svc.ExperimentServiceImpl_Subclass$$function$$2.apply(Unknown Source)
	at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:73)

image

We need to improve test coverage to catch these issues in the CI

@johnaohara
Copy link
Member

Just chatting to @ia3andy, before we merge this PR we would need to either;

@jesperpedersen
Copy link
Collaborator

Ideally, a release that can be back-ported - likely difficult.

Otherwise, we will wait.

@gsmet @geoand ^

@geoand
Copy link
Contributor

geoand commented Sep 5, 2023

At this point, a backport is looking kinda difficult...

@gsmet
Copy link

gsmet commented Sep 5, 2023

3.4.0 is not far away: https://github.com/quarkusio/quarkus/wiki/Release-Planning#34-proposal

You probably only need the core artifacts and they should be available next week.

But... we need to get this PR in.

@jesperpedersen
Copy link
Collaborator

@gsmet @geoand Thanks !

@stalep
Copy link
Member Author

stalep commented Sep 11, 2023

Based on @geoand latest changes I can get Horreum to start and the backend tests are all passing. The integration tests failed to run, I'll look into that now, but I do not think it's related.
To test @geoand's branch I used this branch: https://github.com/stalep/repo/tree/quarkus3_nonreactiveclient
We should consider making the non-reactive changes to this pr as well

@geoand
Copy link
Contributor

geoand commented Sep 11, 2023

Thanks for checking @stalep

@stalep
Copy link
Member Author

stalep commented Sep 11, 2023

The integration tests run so hopefully @geoand's pr will be merged in 3.4 that's scheduled for CR on Wednesday.
On another note, the integration tests are failing and I'm looking at it now.

@jesperpedersen
Copy link
Collaborator

Rebased, squashed, and merged.

Thanks for your contribution !

@jesperpedersen
Copy link
Collaborator

We have to look at Dataset...

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

Successfully merging this pull request may close these issues.

7 participants