[jboss-user] [Persistence, JBoss/CMP, Hibernate, Database] - [JBoss-4.0.3][SQLServer] LockAcquisitionException blocks the
ceciiil
do-not-reply at jboss.com
Tue Mar 24 13:37:24 EDT 2009
Hello,
Context :
We are having a problem on the productive environment. We have an Enterprise Application deplioyed on JBoss-4.0.3 with Hibernate 3.2.3 and SQLServer 2005. We use sqljdbc driver version 1.1. We know there has been version 1.2 and 2.0 but the benchmark on our app is not so goood when we upgrade to these versions.
Problem
SQLServer sometimes identifies deadlock situations. This error is returned to Hibernate which throws a org.hibernate.exception.LockAcquisitionException.
>From this point onwards, the system no longer works : every single hibernate request to the DB server ends up in error. We have dozens of following exception :
| PDM:1.4.7.6 - jboss - mssql - 7776828 [http-0.0.0.0-8080-10] ERROR com.lectra.pdm.applicationserver.pub.commands.CommandBuilder - CommandBuilder - execute : com.lectra.pdm.enterpriselayer.pub.cbr.CustomBusinessRuleException: Not traduct[[class com.lectra.pdm.enterpriselayer.server.persistencymanagement.exceptions.PersistencyException : org.hibernate.exception.SQLGrammarException: could not get or update next value]]
| INFO | jvm 1 | 2009/03/24 17:25:42 | PDM:1.4.7.6 - jboss - mssql - 7792578 [http-0.0.0.0-8080-9] INFO org.jboss.resource.connectionmanager.CachedConnectionManager - Closing a connection for you. Please close them yourself: org.jboss.resource.adapter.jdbc.WrappedConnection at 879a32
| INFO | jvm 1 | 2009/03/24 17:25:42 | java.lang.Throwable: STACKTRACE
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.resource.connectionmanager.CachedConnectionManager.registerConnection(CachedConnectionManager.java:333)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:482)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:894)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:73)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.connection.DatasourceConnectionProvider.getConnection(DatasourceConnectionProvider.java:69)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:421)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1538)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.loader.Loader.doQuery(Loader.java:661)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.loader.Loader.loadEntity(Loader.java:1851)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:48)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:42)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.loader.entity.BatchingEntityLoader.load(BatchingEntityLoader.java:82)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3038)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:395)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:375)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:139)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:195)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:103)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.impl.SessionImpl.internalLoad(SessionImpl.java:846)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:557)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.type.ManyToOneType.assemble(ManyToOneType.java:196)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.cache.StandardQueryCache.get(StandardQueryCache.java:130)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.loader.Loader.getResultFromQueryCache(Loader.java:2152)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.loader.Loader.listUsingQueryCache(Loader.java:2117)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.loader.Loader.list(Loader.java:2087)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:811)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at com.lectra.pdm.enterpriselayer.server.persistencymanagement.PersistencyManager.findSessionBySessionId(PersistencyManager.java:671)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at com.lectra.pdm.enterpriselayer.server.sessionmanagement.SessionManager.isSessionValid(SessionManager.java:127)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at com.lectra.pdm.enterpriselayer.server.utils.SessionUtils.checkSession(SessionUtils.java:25)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at com.lectra.pdm.enterpriselayer.server.contentmanagement.ContentManager.readContent(ContentManager.java:299)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at com.lectra.pdm.enterpriselayer.server.contentmanagement.ejb.ContentManagementFacadeBean.readContent(ContentManagementFacadeBean.java:502)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at sun.reflect.GeneratedMethodAccessor1844.invoke(Unknown Source)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at java.lang.reflect.Method.invoke(Method.java:585)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.invocation.Invocation.performCall(Invocation.java:345)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:214)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:149)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:154)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.webservice.server.ServiceEndpointInterceptor.invoke(ServiceEndpointInterceptor.java:54)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:335)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:153)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:122)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.ejb.Container.invoke(Container.java:873)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:415)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:88)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at $Proxy176.readContent(Unknown Source)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at com.lectra.pdm.enterpriselayer.server.contentmanagement.servlet.ContentAccessServlet.doGet(ContentAccessServlet.java:712)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
| INFO | jvm 1 | 2009/03/24 17:25:42 | at java.lang.Thread.run(Thread.java:595)
|
|
Solution :
The solution we have found to fix this : stop and restart the jboss.jca:Service=ManagedConnectionPool. Obviously this is just not acceptable iun a productive environment.
We have changed the SQLServer configuration to set Snapshot mode and Read_Commited mode. We still have this LockAcquisition exception that brings our ManagedConnectionPool down and stop our application from being used.
Has anybody seen this problem ? Can you propose a solution ? What would you recommend ? Thnaks !
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4220710#4220710
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4220710
More information about the jboss-user
mailing list