[hibernate-issues] [Hibernate-JIRA] Created: (HHH-5971) Bad performance UpdateTimestampsCache ReentrantReadWriteLock

Fernando Paris (JIRA) noreply at atlassian.com
Tue Mar 1 11:11:08 EST 2011


Bad performance UpdateTimestampsCache ReentrantReadWriteLock
------------------------------------------------------------

                 Key: HHH-5971
                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5971
             Project: Hibernate Core
          Issue Type: Bug
    Affects Versions: 3.6.1
         Environment: hibernate 3.6.1, jboss as eap 4.3
            Reporter: Fernando Paris
            Priority: Critical


Performance bootleneck created by UpdateTimestampsCache  invalidate, generating full heap. On the threaddump have 346 threads waiting for


"ajp-0.0.0.0-5490-251" daemon prio=10 tid=0x00002aabc683c000 nid=0x7673 waiting on condition [0x000000005b4da000]
   java.lang.Thread.State: WAITING (parking)
                at sun.misc.Unsafe.park(Native Method)
                - parking to wait for  <0x00002aaac1c8c9d0> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
                at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
                at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:747)
                at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:778)
                at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1114)
                at java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock.lock(ReentrantReadWriteLock.java:807)
                at org.hibernate.cache.UpdateTimestampsCache.invalidate(UpdateTimestampsCache.java:88)
                at org.hibernate.engine.ActionQueue$AfterTransactionCompletionProcessQueue.afterTransactionCompletion(ActionQueue.java:604)
                at org.hibernate.engine.ActionQueue.afterTransactionCompletion(ActionQueue.java:209)
                at org.hibernate.impl.SessionImpl.afterTransactionCompletion(SessionImpl.java:602)
                at org.hibernate.jdbc.JDBCContext.afterNontransactionalQuery(JDBCContext.java:292)
                at org.hibernate.impl.SessionImpl.afterOperation(SessionImpl.java:595)
                at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1273)
                at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
                at org.springframework.orm.hibernate3.HibernateTemplate$34.doInHibernate(HibernateTemplate.java:1024)
                at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
                at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
                at org.springframework.orm.hibernate3.HibernateTemplate.findByNamedQueryAndNamedParam(HibernateTemplate.java:1015)
                at com.rumbo.hotel.dbaccess.dao.impl.DhotMetadataDAOImpl.getByDescriptionKey(DhotMetadataDAOImpl.java:46)
                at com.rumbo.alojamientos.tools.parameter.HotelParameterCacheManager.getParameter(HotelParameterCacheManager.java:113)
                at com.rumbo.alojamientos.tools.parameter.HotelParameterCacheManager.getParameterValue(HotelParameterCacheManager.java:76)
                at com.rumbo.alojamientos.tools.parameter.HotelParameterCacheManager.getParameterValue(HotelParameterCacheManager.java:87)
                at com.rumbo.alojamientos.tools.logging.LoggingUtilities.isLogWritingActive(LoggingUtilities.java:189)
                at com.rumbo.alojamientos.tools.logging.LoggingUtilities.isLogWritingActive(LoggingUtilities.java:232)
                at com.rumbo.alojamientos.tools.logging.LoggingUtilities.saveLog(LoggingUtilities.java:141)
                at com.rumbo.hoteles.ws.interceptor.LoggingInterceptor.saveLog(LoggingInterceptor.java:168)
                at com.rumbo.hoteles.ws.interceptor.LoggingInterceptor.handleRequest(LoggingInterceptor.java:94)
                at org.springframework.ws.server.MessageDispatcher.dispatch(MessageDispatcher.java:213)
                at org.springframework.ws.server.MessageDispatcher.receive(MessageDispatcher.java:168)
                at org.springframework.ws.transport.support.WebServiceMessageReceiverObjectSupport.handleConnection(WebServiceMessageReceiverObjectSupport.java:88)
                at org.springframework.ws.transport.http.WebServiceMessageReceiverHandlerAdapter.handle(WebServiceMessageReceiverHandlerAdapter.java:57)
                at org.springframework.ws.transport.http.MessageDispatcherServlet.doService(MessageDispatcherServlet.java:230)
                at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
                at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
                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(ApplicationFilterChain.java:290)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                at com.rumbo.mvc.encoding.EncodingFilter.doFilter(EncodingFilter.java:61)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
                at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
                at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
                at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
                at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
                at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
                at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
                at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
                at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
                at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
                at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:543)
                at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
                at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
                at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437)
                at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:381)
                at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
                at java.lang.Thread.run(Thread.java:619)


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list