最近、アプリケーションを 2.0.3 からアップグレードしましたが、クエリの実行で問題が発生することがあります。UI に表示するレコードのリストと、ページネーションを表示するリストの合計数を取得する必要があります。どちらの場所でも、executeQuery メソッドを使用してデータを取得しています。データのフェッチ中は問題はありませんが、適格なレコードの総数をフェッチしている間、JVM がクラッシュし、アプリケーションがハングします。サーバーとマシンで実行されているサービスを再起動しないと、先に進むことはできません。
カウントを取得するために使用しているクエリは次のとおりです。
select count(camp) from Campaign as camp
where ( camp.domainId=-1 AND (camp.status not in ('X')) )
AND camp.campaignType IN ('B','I') order by camp.startDate desc
2.0.3 でも同じクエリを使用していましたが、問題に直面することはありませんでした。2.2.4 にアップグレードした後、この問題に直面しており、この問題は一貫していません。これはクラッシュ後のログです。
A fatal error has been detected by the Java Runtime Environment:
Internal Error (javaCalls.cpp:59), pid=6236, tid=5144
guarantee(thread->is_Java_thread()) failed: crucial check - the VM thread cannot and must not escape to Java code
JRE version: 7.0-b147
Java VM: Java HotSpot(TM) 64-Bit Server VM (21.0-b17 mixed mode windows-amd64 compressed oops)
Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+3
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
cmlui.CMLCampaignService.getCampaignCount(Ljava/lang/Object;ZLcmlui/GUIUser;Z)Ljava/lang/Object;+570
cmlui.CMLCampaignService.getCampaignCount(Ljava/lang/Object;ZLcmlui/GUIUser;)Ljava/lang/Object;+121
cmlui.CMLCampaignService$$FastClassByCGLIB$$f623839b.invoke(ILjava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+2937
net.sf.cglib.proxy.MethodProxy.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+19
org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint()Ljava/lang/Object;+24
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava/lang/Object;+19
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object;+87
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed()Ljava/lang/Object;+101
org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;Lnet/sf/cglib/proxy/MethodProxy;)Ljava/lang/Object;+112
cmlui.CMLCampaignService$$EnhancerByCGLIB$$69c262f0.getCampaignCount(Ljava/lang/Object;ZLcmlui/GUIUser;)Ljava/lang/Object;+349
cmlui.CMLCampaignService$getCampaignCount.call(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+122