Skip to content

Bug Report: [payara 7.2025.1] jakarta data page thowing an exception hence unable to deploy #7778

@patoessy

Description

@patoessy

Brief Summary

@repository
@transactional(Transactional.TxType.SUPPORTS)
public interface ShareOfShelfRepository extends CrudRepository<ShareOfShelf, Integer> {

@OrderBy("datePlaced")
@Query("WHERE salesRepId IN ?1 AND datePlaced BETWEEN ?2 AND ?3")
Page<ShareOfShelf> getShareOfShelvesBySalesrepIdsANDDateRange(List<Integer> salesrepsIds,
        Date startDate, Date endDate, PageRequest pageRequest);

}

above code fails with the following exception:

SEVERE: Exception while loading the app SEVERE: Exception while loading the app : CDI definition failure:Exception List with 1 exceptions: Exception 0 : java.lang.NullPointerException: Cannot invoke "org.glassfish.internal.data.ApplicationInfo.getTransientAppMetaData(String, java.lang.Class)" because "applicationInfo" is null at fish.payara.data.core.util.DataCommonOperationUtility.getEntityManager(DataCommonOperationUtility.java:155) at fish.payara.data.core.util.DataCommonOperationUtility.preprocesEntityMetadata(DataCommonOperationUtility.java:194) at fish.payara.data.core.cdi.extension.DynamicInterfaceDataProducer.addQueries(DynamicInterfaceDataProducer.java:358) at fish.payara.data.core.cdi.extension.DynamicInterfaceDataProducer.processQueriesForEntity(DynamicInterfaceDataProducer.java:182) at fish.payara.data.core.cdi.extension.DynamicInterfaceDataProducer.<init>(DynamicInterfaceDataProducer.java:114) at fish.payara.data.core.cdi.extension.JakartaDataExtension.lambda$afterBeanDiscovery$0(JakartaDataExtension.java:87) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at fish.payara.data.core.cdi.extension.JakartaDataExtension.afterBeanDiscovery(JakartaDataExtension.java:86) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:100) at org.jboss.weld.injection.MethodInvocationStrategy$SpecialParamPlusBeanManagerStrategy.invoke(MethodInvocationStrategy.java:199) at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:350) at org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:136) at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:328) at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:298) at jakarta.enterprise.inject.spi.ObserverMethod.notify(ObserverMethod.java:140) at org.jboss.weld.util.Observers.notify(Observers.java:174) at org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:307) at org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:293) at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:185) at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:179) at org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:53) at org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:45) at org.jboss.weld.bootstrap.events.AfterBeanDiscoveryImpl.fire(AfterBeanDiscoveryImpl.java:75) at org.jboss.weld.bootstrap.WeldStartup.deployBeans(WeldStartup.java:462) at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:87) at org.glassfish.weld.WeldDeployer.startWeldBootstrap(WeldDeployer.java:568) at org.glassfish.weld.WeldDeployer.processApplicationLoaded(WeldDeployer.java:502) at org.glassfish.weld.WeldDeployer.event(WeldDeployer.java:400) at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:135) at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:344) at com.sun.enterprise.v3.server.ApplicationLifecycle.prepare(ApplicationLifecycle.java:571) at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:569) at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:558) at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:554) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.base/javax.security.auth.Subject.doAs(Subject.java:453) at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:553) at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:584) at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:576) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.base/javax.security.auth.Subject.doAs(Subject.java:453) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:575) at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1499) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1881) at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1757) at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:605) at com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:257) at org.glassfish.grizzly.http.server.StaticHttpHandlerBase.service(StaticHttpHandlerBase.java:150) at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:520) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:217) at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:174) at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:153) at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:196) at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:88) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:246) at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:178) at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:118) at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:96) at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:51) at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:510) at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:82) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:83) at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:101) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:535) at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:515) at java.base/java.lang.Thread.run(Thread.java:1583)

Expected Outcome

Excepect to be able to deploy and query paged results

Current Outcome

Fails with below message: java.lang.NullPointerException: Cannot invoke "org.glassfish.internal.data.ApplicationInfo.getTransientAppMetaData(String, java.lang.Class)" because "applicationInfo" is null

Reproducer

@repository
@transactional(Transactional.TxType.SUPPORTS)
public interface ShareOfShelfRepository extends CrudRepository<ShareOfShelf, Integer> {

@OrderBy("datePlaced")
@Query("WHERE salesRepId IN ?1 AND datePlaced BETWEEN ?2 AND ?3")
Page<ShareOfShelf> getShareOfShelvesBySalesrepIdsANDDateRange(List<Integer> salesrepsIds,
        Date startDate, Date endDate, PageRequest pageRequest);

}

Operating System

Fedora 43

JDK Version

zulu 21

Payara Distribution

Payara Server Full Profile

Metadata

Metadata

Assignees

Labels

Status: PendingWaiting on the issue requester to give more details or share a reproducerType: BugLabel issue as a bug defect

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions