[Seasar-user:21362] SQLのデッドロック発生について

okunaka [E-MAIL ADDRESS DELETED]
2012年 7月 2日 (月) 13:41:41 JST


$B$*@$OC$K$J$j$^$9!#1|Cf$H?=$7$^$9!#(J
Seasar(SASTRUS+S2JDBC+SQLServer)$B$G%7%9%F%`$r3+H/$7$F<B1?MQ$7$F$$$k$N$G$9$,!"(J
SQL$B$N%G%C%I%m%C%/%(%i!<$,H/@8$7$F:$$C$F$$$^$9!#(J
$B$4;XF3$*4j$$$$$?$7$^$9!#(J


$B!Z(JWEB$B%5!<%P!<![(J
$B!&(JVMWare$B>e$G2<5-$N @ _Dj$GF0$$$F$$$^$9!#(J
CPU 2
$B%a%b%j(J 3072MB
SCSI$B%3%s%H%m!<%i(J LSI Logic SAS
HDD 20GB
NIC VMXNET3
OS CentOS6.2 64bit

$B!&%=%U%H9=@.(J
Apache Ver2.2
Tomcat Ver6.0.24
Sastruts Ver1.0.4 sp8
S2JDBC Ver2.4.43

$B!Z(JDB$B%5!<%P!<![(J
Quad Core X-E5410 2.33GHzx1
$B%a%b%j(J8G
SQLServer2008R2

$B!ZH/@8$7$F$$$k%=!<%9$N2U=j![(J
Action$B%/%i%9$N(J @ Execute$B%a%=%C%I<B9T;~$K!"(J
$B2?8D$+$N(JSQL$B$r<B9T8e$K!"H/@8$7$^$9!#(J

SQL$B$N<B9TJ}K!$O!"(J
$B-!(JString strSql = "update ***"; <---update$BJ8$J$I$r:n @ .!#(J
$B-"(JjdbcManager$B$G(JstrSql$B$NFbMF$r<B9T!#(J

$B!Z%m%0$N0lNc![(J
org.seasar.framework.exception.SQLRuntimeException: [ESSR0072]SQL$B$GNc30(J
(SQL=[UPDATE  $B%F!<%V%kL>(J  SET day_regist_date = CURRENT_TIMESTAMP,
record_staff_no = '$B!v!v!v!v!v(J', record_date = CURRENT_TIMESTAMP  WHERE
DATEPART(year,work_time_date) = 2012 AND DATEPART(month,work_time_date) = 6
AND DATEPART(day,work_time_date) = 18 AND staff_no = '$B!v!v!v!v!v(J' AND
valid_flg = '0'], Message=[[ESSR0072]SQL$B$GNc30(J(SQL=[UPDATE  $B%F!<%V%kL>(J  SET
day_regist_date = CURRENT_TIMESTAMP, record_staff_no = '$B!v!v!v!v!v(J',
record_date = CURRENT_TIMESTAMP  WHERE DATEPART(year,work_time_date) = 2012
AND DATEPART(month,work_time_date) = 6 AND DATEPART(day,work_time_date) = 18
AND staff_no = '$B!v!v!v!v!v(J' AND valid_flg = '0'], Message=[1205],
ErrorCode=40001, SQLState={3})$B$,H/@8$7$^$7$?(J : [SQL$B$GNc30(J(Message=[$B%H%i%s%6(J
$B%/%7%g%s(J ($B%W%m%;%9(J ID 55) $B$,!"%m%C%/(J $B8D$N%j%=!<%9$GB>$N%W%m%;%9$H%G%C%I%m%C(J
$B%/$7$F!"$3$N%H%i%s%6%/%7%g%s$,$=$N%G%C%I%m%C%/$NBP>]$H$J$j$^$7$?!#%H%i%s%6%/(J
$B%7%g%s$r:F<B9T$7$F$/$@$5$$!#(J], ErrorCode=1205, SQLState=40001)$B$,H/@8$7$^$7(J
$B$?!#(J], [$B%H%i%s%6%/%7%g%s(J ($B%W%m%;%9(J ID 55) $B$,!"%m%C%/(J $B8D$N%j%=!<%9$GB>$N%W%m(J
$B%;%9$H%G%C%I%m%C%/$7$F!"$3$N%H%i%s%6%/%7%g%s$,$=$N%G%C%I%m%C%/$NBP>]$H$J$j$^(J
$B$7$?!#%H%i%s%6%/%7%g%s$r:F<B9T$7$F$/$@$5$$!#(J], ErrorCode=1205,
SQLState=40001)$B$,H/@8$7$^$7$?(J
	at
org.seasar.framework.util.PreparedStatementUtil.executeUpdate(PreparedStatem
entUtil.java:68)
	at
org.seasar.extension.jdbc.query.SqlUpdateImpl.executeInternal(SqlUpdateImpl.
java:112)
	at
org.seasar.extension.jdbc.query.SqlUpdateImpl.execute(SqlUpdateImpl.java:81)
	at
jp.co.maintec.wtm.service.CommonService.updateBySql(CommonService.java:15)
	at
jp.co.maintec.wtm.service.CommonService$$EnhancedByS2AOP$$1286d597.$$updateB
ySql$$invokeSuperMethod$$(CommonService$$EnhancedByS2AOP$$1286d597.java)
	at
jp.co.maintec.wtm.service.CommonService$$EnhancedByS2AOP$$1286d597$$MethodIn
vocation$$updateBySql0.proceed(MethodInvocationClassGenerator.java)
	at
org.seasar.extension.tx.DefaultTransactionCallback.execute(DefaultTransactio
nCallback.java:58)
	at
org.seasar.extension.tx.adapter.JTATransactionManagerAdapter.required(JTATra
nsactionManagerAdapter.java:65)
	at
org.seasar.extension.tx.RequiredInterceptor.invoke(RequiredInterceptor.java:
50)
	at
jp.co.maintec.wtm.service.CommonService$$EnhancedByS2AOP$$1286d597$$MethodIn
vocation$$updateBySql0.proceed(MethodInvocationClassGenerator.java)
	at
org.seasar.framework.aop.interceptors.TraceInterceptor.invoke(TraceIntercept
or.java:56)
	at
jp.co.maintec.wtm.service.CommonService$$EnhancedByS2AOP$$1286d597$$MethodIn
vocation$$updateBySql0.proceed(MethodInvocationClassGenerator.java)
	at
jp.co.maintec.wtm.service.CommonService$$EnhancedByS2AOP$$1286d597.updateByS
ql(CommonService$$EnhancedByS2AOP$$1286d597.java)
	at jp.co.maintec.wtm.action.InputAction.entryHigotoJisu(InputAction.
java:3656)
	at
jp.co.maintec.wtm.action.InputAction.higotoSyuryo(InputAction.java:2655)
	at
jp.co.maintec.wtm.action.InputAction$$EnhancedByS2AOP$$4fc0cb76.$$higotoSyur
yo$$invokeSuperMethod$$(InputAction$$EnhancedByS2AOP$$4fc0cb76.java)
	at
jp.co.maintec.wtm.action.InputAction$$EnhancedByS2AOP$$4fc0cb76$$MethodInvoc
ation$$higotoSyuryo21.proceed(MethodInvocationClassGenerator.java)
	at
jp.co.maintec.wtm.interceptor.LoginInterceptor.invoke(LoginInterceptor.java:
54)
	at
jp.co.maintec.wtm.action.InputAction$$EnhancedByS2AOP$$4fc0cb76$$MethodInvoc
ation$$higotoSyuryo21.proceed(MethodInvocationClassGenerator.java)
	at
org.seasar.extension.tx.DefaultTransactionCallback.execute(DefaultTransactio
nCallback.java:58)
	at
org.seasar.extension.tx.adapter.JTATransactionManagerAdapter.never(JTATransa
ctionManagerAdapter.java:114)
	at org.seasar.extension.tx.NeverInterceptor.invoke(NeverInterceptor.
java:38)
	at
jp.co.maintec.wtm.action.InputAction$$EnhancedByS2AOP$$4fc0cb76$$MethodInvoc
ation$$higotoSyuryo21.proceed(MethodInvocationClassGenerator.java)
	at
org.seasar.framework.aop.interceptors.TraceInterceptor.invoke(TraceIntercept
or.java:56)
	at
jp.co.maintec.wtm.action.InputAction$$EnhancedByS2AOP$$4fc0cb76$$MethodInvoc
ation$$higotoSyuryo21.proceed(MethodInvocationClassGenerator.java)
	at
org.seasar.framework.aop.interceptors.ThrowsInterceptor.invoke(ThrowsInterce
ptor.java:79)
	at
jp.co.maintec.wtm.action.InputAction$$EnhancedByS2AOP$$4fc0cb76$$MethodInvoc
ation$$higotoSyuryo21.proceed(MethodInvocationClassGenerator.java)
	at
jp.co.maintec.wtm.action.InputAction$$EnhancedByS2AOP$$4fc0cb76.higotoSyuryo
(InputAction$$EnhancedByS2AOP$$4fc0cb76.java)
	at sun.reflect.GeneratedMethodAccessor146.invoke(Unknown Source)
	at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl
.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.seasar.framework.util.MethodUtil.invoke(MethodUtil.java:96)
	at
org.seasar.struts.action.ActionWrapper.execute(ActionWrapper.java:139)
	at
org.seasar.struts.action.ActionWrapper.execute(ActionWrapper.java:87)
	at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProces
sor.java:431)
	at
org.seasar.struts.action.S2RequestProcessor.process(S2RequestProcessor.java:
132)
	at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:
432)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:290)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
	at
org.seasar.extension.filter.RequestDumpFilter.doFilter(RequestDumpFilter.jav
a:127)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
	at
org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2Container
Filter.java:79)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
	at
org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployF
ilter.java:71)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
	at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.
java:646)
	at
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDis
patcher.java:436)
	at
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatch
er.java:374)
	at
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher
.java:302)
	at
org.seasar.struts.filter.RoutingFilter.forward(RoutingFilter.java:219)
	at
org.seasar.struts.filter.RoutingFilter.doFilter(RoutingFilter.java:90)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
	at
org.seasar.framework.container.filter.S2ContainerFilter.doFilter(S2Container
Filter.java:79)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
	at
org.seasar.framework.container.hotdeploy.HotdeployFilter.doFilter(HotdeployF
ilter.java:71)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
	at
org.seasar.extension.filter.EncodingFilter.doFilter(EncodingFilter.java:69)
	at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:235)
	at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:206)
	at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:233)
	at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
	at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127
)
	at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102
)
	at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
	at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
	at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:
190)
	at
org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
	at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)
	at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)
	at
org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java
:891)
	at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:690)
	at java.lang.Thread.run(Thread.java:662)

@Execute$B$N%a%=%C%I$G!"J#?t$N(JSQL$B$r<B9T$7$F$$$^$9$,!"$=$l$>$l!"=hM}$,40N;$7(J
$B$F!"<!$N=hM}$,F0$1$P!"%G%C%I%m%C%/$O!"(J
$B5/$3$i$J$$$H;W$&$N$G$9$,!#(J

$BH/@8860x$*$h$S2sHrJ}K!$J$I$r65$($F$$$?$@$1$J$$$G$7$g$&$+!#(J

$B59$7$/!"$*4j$$$$$?$7$^$9!#(J

// Kenji Okunaka
-------------- next part --------------
$B%F%-%9%H7A<00J30$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
$B%U%!%$%kL>(B: winmail.dat
$B7?(B:         application/ms-tnef
$B%5%$%:(B:     6290 $B%P%$%H(B
$B @ bL@(B:       $BL5$7(B
URL:        <https://www.seasar.org/archives/seasar-user/attachments/20120702/17e42098/attachment.bin>


Seasar-user メーリングリストの案内