You are viewing a plain text version of this content. The canonical link for it is here.
Posted to olio-dev@incubator.apache.org by "James Zubb (JIRA)" <ji...@apache.org> on 2010/04/05 17:11:27 UTC

[jira] Created: (OLIO-144) Encounter Eclipselink ConcurrencyException under heavy load

Encounter Eclipselink ConcurrencyException under heavy load
-----------------------------------------------------------

                 Key: OLIO-144
                 URL: https://issues.apache.org/jira/browse/OLIO-144
             Project: Olio
          Issue Type: Bug
          Components: java-app
    Affects Versions: 0.2
         Environment: CentOS 5.3 4GB RAM 4vCPU
ESX 4
Glassfish 2.2.1, JDK 1.6U18
Eclipselink 1.1.3
            Reporter: James Zubb
            Assignee: Shanti Subramanyam


I have been seeing eclipselink concurrencyexception when the system is under heavy load.   Once the exception occurs the entire app hangs.  Here is the exception:

[#|2010-02-10T16:15:10.003-0800|WARNING|sun-appserver2.1|org.eclipse.persistence.session.file:/opt/glassfish/domains/domain1/applications/j2ee-modules/webapp/WEB-INF/classes/-BPWebappPu|_ThreadID=16;_ThreadName=httpSSLWorkerThread-8080-0;_RequestID=57c0781d-255f-4f9e-9ccf-41a5c296befe;|
Local Exception Stack: 
Exception [EclipseLink-2004] (Eclipse Persistence Services - 1.1.3.v20091002-r5404): org.eclipse.persistence.exceptions.ConcurrencyException
Exception Description: A signal was attempted before wait() on ConcurrencyManager. This normally means that an attempt was made to commit or rollback a transaction before it was started, or to rollback a transaction twice.
	at org.eclipse.persistence.exceptions.ConcurrencyException.signalAttemptedBeforeWait(ConcurrencyException.java:84)
	at org.eclipse.persistence.internal.helper.ConcurrencyManager.releaseReadLock(ConcurrencyManager.java:478)
	at org.eclipse.persistence.internal.identitymaps.CacheKey.releaseReadLock(CacheKey.java:433)
	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.cloneAndRegisterObject(UnitOfWorkImpl.java:939)
	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.cloneAndRegisterObject(UnitOfWorkImpl.java:833)
	at org.eclipse.persistence.internal.sessions.UnitOfWorkIdentityMapAccessor.getAndCloneCacheKeyFromParent(UnitOfWorkIdentityMapAccessor.java:171)
	at org.eclipse.persistence.internal.sessions.UnitOfWorkIdentityMapAccessor.getFromIdentityMap(UnitOfWorkIdentityMapAccessor.java:110)
	at org.eclipse.persistence.internal.sessions.IdentityMapAccessor.getFromIdentityMap(IdentityMapAccessor.java:327)
	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerExistingObject(UnitOfWorkImpl.java:3776)
	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerExistingObject(UnitOfWorkImpl.java:3736)
	at org.eclipse.persistence.queries.ObjectBuildingQuery.registerIndividualResult(ObjectBuildingQuery.java:362)
	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildWorkingCopyCloneNormally(ObjectBuilder.java:582)
	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObjectInUnitOfWork(ObjectBuilder.java:544)
	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:485)
	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:437)
	at org.eclipse.persistence.queries.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:569)
	at org.eclipse.persistence.queries.ReadAllQuery.registerResultInUnitOfWork(ReadAllQuery.java:904)
	at org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:490)
	at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:928)
	at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:664)
	at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:889)
	at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:458)
	at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:952)
	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2750)
	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1181)
	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1165)
	at org.eclipse.persistence.internal.indirection.QueryBasedValueHolder.instantiate(QueryBasedValueHolder.java:81)
	at org.eclipse.persistence.internal.indirection.QueryBasedValueHolder.instantiate(QueryBasedValueHolder.java:71)
	at org.eclipse.persistence.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:83)
	at org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder.instantiateImpl(UnitOfWorkValueHolder.java:161)
	at org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder.instantiate(UnitOfWorkValueHolder.java:230)
	at org.eclipse.persistence.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:83)
	at org.eclipse.persistence.indirection.IndirectList.buildDelegate(IndirectList.java:220)
	at org.eclipse.persistence.indirection.IndirectList.getDelegate(IndirectList.java:386)
	at org.eclipse.persistence.indirection.IndirectList$1.<init>(IndirectList.java:514)
	at org.eclipse.persistence.indirection.IndirectList.listIterator(IndirectList.java:513)
	at org.eclipse.persistence.indirection.IndirectList.iterator(IndirectList.java:477)
	at org.apache.olio.webapp.model.ModelFacade.getSocialEvent(ModelFacade.java:583)
	at org.apache.olio.webapp.controller.EventAction.process(EventAction.java:71)
	at org.apache.olio.webapp.controller.ControllerServlet.process(ControllerServlet.java:61)
	at org.apache.olio.webapp.controller.ControllerServlet.doGet(ControllerServlet.java:93)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
	at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
	at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)
	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)
	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597)
	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872)
	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
	at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
	at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
|#]

The culprit is the comments.  I modified the allocation size of the CommentsRating table to 50000 (it is currently set at 20000) and it appears to fix this.

I have also encountered this problem using Eclipselink 2.0 on Glassfish 2.2.1, I haven't tried Glassfish 3.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Re: [jira] Updated: (OLIO-144) Encounter Eclipselink ConcurrencyException under heavy load

Posted by Shanti Subramanyam <sh...@oracle.com>.
James,
  I suggest you file this bug against EclipseLink as well.

Shanti

On 4/6/10 10:51 AM, James Zubb (JIRA) wrote:
>       [ https://issues.apache.org/jira/browse/OLIO-144?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
>
> James Zubb updated OLIO-144:
> ----------------------------
>
>      Environment:
> CentOS 5.3 4GB RAM 4vCPU
> ESX 4
> Glassfish 2.2.1, JDK 1.6U18
> Eclipselink 1.1.3
> 400 user load
>
>    was:
> CentOS 5.3 4GB RAM 4vCPU
> ESX 4
> Glassfish 2.2.1, JDK 1.6U18
> Eclipselink 1.1.3
>
>
>    
>> Encounter Eclipselink ConcurrencyException under heavy load
>> -----------------------------------------------------------
>>
>>                  Key: OLIO-144
>>                  URL: https://issues.apache.org/jira/browse/OLIO-144
>>              Project: Olio
>>           Issue Type: Bug
>>           Components: java-app
>>     Affects Versions: 0.2
>>          Environment: CentOS 5.3 4GB RAM 4vCPU
>> ESX 4
>> Glassfish 2.2.1, JDK 1.6U18
>> Eclipselink 1.1.3
>> 400 user load
>>             Reporter: James Zubb
>>             Assignee: Shanti Subramanyam
>>
>> I have been seeing eclipselink concurrencyexception when the system is under heavy load.   Once the exception occurs the entire app hangs.  Here is the exception:
>> [#|2010-02-10T16:15:10.003-0800|WARNING|sun-appserver2.1|org.eclipse.persistence.session.file:/opt/glassfish/domains/domain1/applications/j2ee-modules/webapp/WEB-INF/classes/-BPWebappPu|_ThreadID=16;_ThreadName=httpSSLWorkerThread-8080-0;_RequestID=57c0781d-255f-4f9e-9ccf-41a5c296befe;|
>> Local Exception Stack:
>> Exception [EclipseLink-2004] (Eclipse Persistence Services - 1.1.3.v20091002-r5404): org.eclipse.persistence.exceptions.ConcurrencyException
>> Exception Description: A signal was attempted before wait() on ConcurrencyManager. This normally means that an attempt was made to commit or rollback a transaction before it was started, or to rollback a transaction twice.
>> 	at org.eclipse.persistence.exceptions.ConcurrencyException.signalAttemptedBeforeWait(ConcurrencyException.java:84)
>> 	at org.eclipse.persistence.internal.helper.ConcurrencyManager.releaseReadLock(ConcurrencyManager.java:478)
>> 	at org.eclipse.persistence.internal.identitymaps.CacheKey.releaseReadLock(CacheKey.java:433)
>> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.cloneAndRegisterObject(UnitOfWorkImpl.java:939)
>> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.cloneAndRegisterObject(UnitOfWorkImpl.java:833)
>> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkIdentityMapAccessor.getAndCloneCacheKeyFromParent(UnitOfWorkIdentityMapAccessor.java:171)
>> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkIdentityMapAccessor.getFromIdentityMap(UnitOfWorkIdentityMapAccessor.java:110)
>> 	at org.eclipse.persistence.internal.sessions.IdentityMapAccessor.getFromIdentityMap(IdentityMapAccessor.java:327)
>> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerExistingObject(UnitOfWorkImpl.java:3776)
>> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerExistingObject(UnitOfWorkImpl.java:3736)
>> 	at org.eclipse.persistence.queries.ObjectBuildingQuery.registerIndividualResult(ObjectBuildingQuery.java:362)
>> 	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildWorkingCopyCloneNormally(ObjectBuilder.java:582)
>> 	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObjectInUnitOfWork(ObjectBuilder.java:544)
>> 	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:485)
>> 	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:437)
>> 	at org.eclipse.persistence.queries.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:569)
>> 	at org.eclipse.persistence.queries.ReadAllQuery.registerResultInUnitOfWork(ReadAllQuery.java:904)
>> 	at org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:490)
>> 	at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:928)
>> 	at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:664)
>> 	at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:889)
>> 	at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:458)
>> 	at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:952)
>> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2750)
>> 	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1181)
>> 	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1165)
>> 	at org.eclipse.persistence.internal.indirection.QueryBasedValueHolder.instantiate(QueryBasedValueHolder.java:81)
>> 	at org.eclipse.persistence.internal.indirection.QueryBasedValueHolder.instantiate(QueryBasedValueHolder.java:71)
>> 	at org.eclipse.persistence.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:83)
>> 	at org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder.instantiateImpl(UnitOfWorkValueHolder.java:161)
>> 	at org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder.instantiate(UnitOfWorkValueHolder.java:230)
>> 	at org.eclipse.persistence.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:83)
>> 	at org.eclipse.persistence.indirection.IndirectList.buildDelegate(IndirectList.java:220)
>> 	at org.eclipse.persistence.indirection.IndirectList.getDelegate(IndirectList.java:386)
>> 	at org.eclipse.persistence.indirection.IndirectList$1.<init>(IndirectList.java:514)
>> 	at org.eclipse.persistence.indirection.IndirectList.listIterator(IndirectList.java:513)
>> 	at org.eclipse.persistence.indirection.IndirectList.iterator(IndirectList.java:477)
>> 	at org.apache.olio.webapp.model.ModelFacade.getSocialEvent(ModelFacade.java:583)
>> 	at org.apache.olio.webapp.controller.EventAction.process(EventAction.java:71)
>> 	at org.apache.olio.webapp.controller.ControllerServlet.process(ControllerServlet.java:61)
>> 	at org.apache.olio.webapp.controller.ControllerServlet.doGet(ControllerServlet.java:93)
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
>> 	at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
>> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
>> 	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
>> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
>> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
>> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
>> 	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
>> 	at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
>> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
>> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
>> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
>> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
>> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
>> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
>> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
>> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
>> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
>> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
>> 	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)
>> 	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)
>> 	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597)
>> 	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872)
>> 	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
>> 	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
>> 	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
>> 	at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
>> 	at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
>> |#]
>> The culprit is the comments.  I modified the allocation size of the CommentsRating table to 50000 (it is currently set at 20000) and it appears to fix this.
>> I have also encountered this problem using Eclipselink 2.0 on Glassfish 2.2.1, I haven't tried Glassfish 3.
>>      
>    


[jira] Updated: (OLIO-144) Encounter Eclipselink ConcurrencyException under heavy load

Posted by "James Zubb (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/OLIO-144?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

James Zubb updated OLIO-144:
----------------------------

    Environment: 
CentOS 5.3 4GB RAM 4vCPU
ESX 4
Glassfish 2.2.1, JDK 1.6U18
Eclipselink 1.1.3
400 user load

  was:
CentOS 5.3 4GB RAM 4vCPU
ESX 4
Glassfish 2.2.1, JDK 1.6U18
Eclipselink 1.1.3


> Encounter Eclipselink ConcurrencyException under heavy load
> -----------------------------------------------------------
>
>                 Key: OLIO-144
>                 URL: https://issues.apache.org/jira/browse/OLIO-144
>             Project: Olio
>          Issue Type: Bug
>          Components: java-app
>    Affects Versions: 0.2
>         Environment: CentOS 5.3 4GB RAM 4vCPU
> ESX 4
> Glassfish 2.2.1, JDK 1.6U18
> Eclipselink 1.1.3
> 400 user load
>            Reporter: James Zubb
>            Assignee: Shanti Subramanyam
>
> I have been seeing eclipselink concurrencyexception when the system is under heavy load.   Once the exception occurs the entire app hangs.  Here is the exception:
> [#|2010-02-10T16:15:10.003-0800|WARNING|sun-appserver2.1|org.eclipse.persistence.session.file:/opt/glassfish/domains/domain1/applications/j2ee-modules/webapp/WEB-INF/classes/-BPWebappPu|_ThreadID=16;_ThreadName=httpSSLWorkerThread-8080-0;_RequestID=57c0781d-255f-4f9e-9ccf-41a5c296befe;|
> Local Exception Stack: 
> Exception [EclipseLink-2004] (Eclipse Persistence Services - 1.1.3.v20091002-r5404): org.eclipse.persistence.exceptions.ConcurrencyException
> Exception Description: A signal was attempted before wait() on ConcurrencyManager. This normally means that an attempt was made to commit or rollback a transaction before it was started, or to rollback a transaction twice.
> 	at org.eclipse.persistence.exceptions.ConcurrencyException.signalAttemptedBeforeWait(ConcurrencyException.java:84)
> 	at org.eclipse.persistence.internal.helper.ConcurrencyManager.releaseReadLock(ConcurrencyManager.java:478)
> 	at org.eclipse.persistence.internal.identitymaps.CacheKey.releaseReadLock(CacheKey.java:433)
> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.cloneAndRegisterObject(UnitOfWorkImpl.java:939)
> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.cloneAndRegisterObject(UnitOfWorkImpl.java:833)
> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkIdentityMapAccessor.getAndCloneCacheKeyFromParent(UnitOfWorkIdentityMapAccessor.java:171)
> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkIdentityMapAccessor.getFromIdentityMap(UnitOfWorkIdentityMapAccessor.java:110)
> 	at org.eclipse.persistence.internal.sessions.IdentityMapAccessor.getFromIdentityMap(IdentityMapAccessor.java:327)
> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerExistingObject(UnitOfWorkImpl.java:3776)
> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerExistingObject(UnitOfWorkImpl.java:3736)
> 	at org.eclipse.persistence.queries.ObjectBuildingQuery.registerIndividualResult(ObjectBuildingQuery.java:362)
> 	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildWorkingCopyCloneNormally(ObjectBuilder.java:582)
> 	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObjectInUnitOfWork(ObjectBuilder.java:544)
> 	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:485)
> 	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:437)
> 	at org.eclipse.persistence.queries.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:569)
> 	at org.eclipse.persistence.queries.ReadAllQuery.registerResultInUnitOfWork(ReadAllQuery.java:904)
> 	at org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:490)
> 	at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:928)
> 	at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:664)
> 	at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:889)
> 	at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:458)
> 	at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:952)
> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2750)
> 	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1181)
> 	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1165)
> 	at org.eclipse.persistence.internal.indirection.QueryBasedValueHolder.instantiate(QueryBasedValueHolder.java:81)
> 	at org.eclipse.persistence.internal.indirection.QueryBasedValueHolder.instantiate(QueryBasedValueHolder.java:71)
> 	at org.eclipse.persistence.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:83)
> 	at org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder.instantiateImpl(UnitOfWorkValueHolder.java:161)
> 	at org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder.instantiate(UnitOfWorkValueHolder.java:230)
> 	at org.eclipse.persistence.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:83)
> 	at org.eclipse.persistence.indirection.IndirectList.buildDelegate(IndirectList.java:220)
> 	at org.eclipse.persistence.indirection.IndirectList.getDelegate(IndirectList.java:386)
> 	at org.eclipse.persistence.indirection.IndirectList$1.<init>(IndirectList.java:514)
> 	at org.eclipse.persistence.indirection.IndirectList.listIterator(IndirectList.java:513)
> 	at org.eclipse.persistence.indirection.IndirectList.iterator(IndirectList.java:477)
> 	at org.apache.olio.webapp.model.ModelFacade.getSocialEvent(ModelFacade.java:583)
> 	at org.apache.olio.webapp.controller.EventAction.process(EventAction.java:71)
> 	at org.apache.olio.webapp.controller.ControllerServlet.process(ControllerServlet.java:61)
> 	at org.apache.olio.webapp.controller.ControllerServlet.doGet(ControllerServlet.java:93)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> 	at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
> 	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
> 	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
> 	at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
> 	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)
> 	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)
> 	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597)
> 	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872)
> 	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
> 	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
> 	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
> 	at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
> 	at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
> |#]
> The culprit is the comments.  I modified the allocation size of the CommentsRating table to 50000 (it is currently set at 20000) and it appears to fix this.
> I have also encountered this problem using Eclipselink 2.0 on Glassfish 2.2.1, I haven't tried Glassfish 3.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (OLIO-144) Encounter Eclipselink ConcurrencyException under heavy load

Posted by "James Zubb (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/OLIO-144?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

James Zubb updated OLIO-144:
----------------------------


Actually just noticed the exception again.  Seems like the allocation size didn't fix it, but it did seem to reduce the frequency a bit.

> Encounter Eclipselink ConcurrencyException under heavy load
> -----------------------------------------------------------
>
>                 Key: OLIO-144
>                 URL: https://issues.apache.org/jira/browse/OLIO-144
>             Project: Olio
>          Issue Type: Bug
>          Components: java-app
>    Affects Versions: 0.2
>         Environment: CentOS 5.3 4GB RAM 4vCPU
> ESX 4
> Glassfish 2.2.1, JDK 1.6U18
> Eclipselink 1.1.3
>            Reporter: James Zubb
>            Assignee: Shanti Subramanyam
>
> I have been seeing eclipselink concurrencyexception when the system is under heavy load.   Once the exception occurs the entire app hangs.  Here is the exception:
> [#|2010-02-10T16:15:10.003-0800|WARNING|sun-appserver2.1|org.eclipse.persistence.session.file:/opt/glassfish/domains/domain1/applications/j2ee-modules/webapp/WEB-INF/classes/-BPWebappPu|_ThreadID=16;_ThreadName=httpSSLWorkerThread-8080-0;_RequestID=57c0781d-255f-4f9e-9ccf-41a5c296befe;|
> Local Exception Stack: 
> Exception [EclipseLink-2004] (Eclipse Persistence Services - 1.1.3.v20091002-r5404): org.eclipse.persistence.exceptions.ConcurrencyException
> Exception Description: A signal was attempted before wait() on ConcurrencyManager. This normally means that an attempt was made to commit or rollback a transaction before it was started, or to rollback a transaction twice.
> 	at org.eclipse.persistence.exceptions.ConcurrencyException.signalAttemptedBeforeWait(ConcurrencyException.java:84)
> 	at org.eclipse.persistence.internal.helper.ConcurrencyManager.releaseReadLock(ConcurrencyManager.java:478)
> 	at org.eclipse.persistence.internal.identitymaps.CacheKey.releaseReadLock(CacheKey.java:433)
> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.cloneAndRegisterObject(UnitOfWorkImpl.java:939)
> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.cloneAndRegisterObject(UnitOfWorkImpl.java:833)
> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkIdentityMapAccessor.getAndCloneCacheKeyFromParent(UnitOfWorkIdentityMapAccessor.java:171)
> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkIdentityMapAccessor.getFromIdentityMap(UnitOfWorkIdentityMapAccessor.java:110)
> 	at org.eclipse.persistence.internal.sessions.IdentityMapAccessor.getFromIdentityMap(IdentityMapAccessor.java:327)
> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerExistingObject(UnitOfWorkImpl.java:3776)
> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerExistingObject(UnitOfWorkImpl.java:3736)
> 	at org.eclipse.persistence.queries.ObjectBuildingQuery.registerIndividualResult(ObjectBuildingQuery.java:362)
> 	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildWorkingCopyCloneNormally(ObjectBuilder.java:582)
> 	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObjectInUnitOfWork(ObjectBuilder.java:544)
> 	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:485)
> 	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:437)
> 	at org.eclipse.persistence.queries.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:569)
> 	at org.eclipse.persistence.queries.ReadAllQuery.registerResultInUnitOfWork(ReadAllQuery.java:904)
> 	at org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:490)
> 	at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:928)
> 	at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:664)
> 	at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:889)
> 	at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:458)
> 	at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:952)
> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2750)
> 	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1181)
> 	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1165)
> 	at org.eclipse.persistence.internal.indirection.QueryBasedValueHolder.instantiate(QueryBasedValueHolder.java:81)
> 	at org.eclipse.persistence.internal.indirection.QueryBasedValueHolder.instantiate(QueryBasedValueHolder.java:71)
> 	at org.eclipse.persistence.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:83)
> 	at org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder.instantiateImpl(UnitOfWorkValueHolder.java:161)
> 	at org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder.instantiate(UnitOfWorkValueHolder.java:230)
> 	at org.eclipse.persistence.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:83)
> 	at org.eclipse.persistence.indirection.IndirectList.buildDelegate(IndirectList.java:220)
> 	at org.eclipse.persistence.indirection.IndirectList.getDelegate(IndirectList.java:386)
> 	at org.eclipse.persistence.indirection.IndirectList$1.<init>(IndirectList.java:514)
> 	at org.eclipse.persistence.indirection.IndirectList.listIterator(IndirectList.java:513)
> 	at org.eclipse.persistence.indirection.IndirectList.iterator(IndirectList.java:477)
> 	at org.apache.olio.webapp.model.ModelFacade.getSocialEvent(ModelFacade.java:583)
> 	at org.apache.olio.webapp.controller.EventAction.process(EventAction.java:71)
> 	at org.apache.olio.webapp.controller.ControllerServlet.process(ControllerServlet.java:61)
> 	at org.apache.olio.webapp.controller.ControllerServlet.doGet(ControllerServlet.java:93)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> 	at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
> 	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
> 	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
> 	at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
> 	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)
> 	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)
> 	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597)
> 	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872)
> 	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
> 	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
> 	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
> 	at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
> 	at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
> |#]
> The culprit is the comments.  I modified the allocation size of the CommentsRating table to 50000 (it is currently set at 20000) and it appears to fix this.
> I have also encountered this problem using Eclipselink 2.0 on Glassfish 2.2.1, I haven't tried Glassfish 3.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (OLIO-144) Encounter Eclipselink ConcurrencyException under heavy load

Posted by "James Zubb (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OLIO-144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12861854#action_12861854 ] 

James Zubb commented on OLIO-144:
---------------------------------

There seems to be some sort of bug in Eclipselink or Glassfish.  I removed the iterator from the CommentsRating iterator from the getSocialEvent function for the comments (just did a direct getComments) which fixed the above error but cause the cconcurrency exception to occur at the getCommentsRating function at the for loop.  So I completely removed this (just set it to immediately return null) and I get another concurrency exception in ControllerServlet.java:

[#|2010-04-27T16:29:11.228-0700|SEVERE|sun-appserver2.1|javax.enterprise.system.container.web|_ThreadID=26;_ThreadName=httpSSLWorkerThread-8080-28;_RequestID=b27ce8e2-4580-48e5-b247-cef96f117c07;|StandardWrapperValve[ControllerServlet]: PWC1406: Servlet.service() for servlet ControllerServlet threw exception
Local Exception Stack: 
Exception [EclipseLink-2004] (Eclipse Persistence Services - 1.1.3.v20091002-r5404): org.eclipse.persistence.exceptions.ConcurrencyException
Exception Description: A signal was attempted before wait() on ConcurrencyManager. This normally means that an attempt was made to 
commit or rollback a transaction before it was started, or to rollback a transaction twice.
	at org.eclipse.persistence.exceptions.ConcurrencyException.signalAttemptedBeforeWait(ConcurrencyException.java:84)
	at org.eclipse.persistence.internal.helper.ConcurrencyManager.releaseReadLock(ConcurrencyManager.java:478)
	at org.eclipse.persistence.internal.identitymaps.CacheKey.releaseReadLock(CacheKey.java:433)
	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.cloneAndRegisterObject(UnitOfWorkImpl.java:939)
	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.cloneAndRegisterObject(UnitOfWorkImpl.java:833)
	at org.eclipse.persistence.internal.sessions.UnitOfWorkIdentityMapAccessor.getAndCloneCacheKeyFromParent(UnitOfWorkIdentityMapAccessor.java:171)
	at org.eclipse.persistence.internal.sessions.UnitOfWorkIdentityMapAccessor.getFromIdentityMap(UnitOfWorkIdentityMapAccessor.java:110)
	at org.eclipse.persistence.internal.sessions.IdentityMapAccessor.getFromIdentityMap(IdentityMapAccessor.java:327)
	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerExistingObject(UnitOfWorkImpl.java:3776)
	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerExistingObject(UnitOfWorkImpl.java:3736)
	at org.eclipse.persistence.queries.ObjectBuildingQuery.registerIndividualResult(ObjectBuildingQuery.java:362)
	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildWorkingCopyCloneNormally(ObjectBuilder.java:582)
	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObjectInUnitOfWork(ObjectBuilder.java:544)
	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:485)
	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:437)
	at org.eclipse.persistence.queries.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:569)
	at org.eclipse.persistence.queries.ReadAllQuery.registerResultInUnitOfWork(ReadAllQuery.java:904)
	at org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:490)
	at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:928)
	at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:664)
	at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:889)
	at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:458)
	at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:952)
	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2750)
	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1181)
	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1165)
	at org.eclipse.persistence.internal.indirection.QueryBasedValueHolder.instantiate(QueryBasedValueHolder.java:81)
	at org.eclipse.persistence.internal.indirection.QueryBasedValueHolder.instantiate(QueryBasedValueHolder.java:71)
	at org.eclipse.persistence.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:83)
	at org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder.instantiateImpl(UnitOfWorkValueHolder.java:161)
	at org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder.instantiate(UnitOfWorkValueHolder.java:230)
	at org.eclipse.persistence.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:83)
	at org.eclipse.persistence.indirection.IndirectList.buildDelegate(IndirectList.java:220)
	at org.eclipse.persistence.indirection.IndirectList.getDelegate(IndirectList.java:386)
	at org.eclipse.persistence.indirection.IndirectList$1.<init>(IndirectList.java:514)
	at org.eclipse.persistence.indirection.IndirectList.listIterator(IndirectList.java:513)
	at org.eclipse.persistence.indirection.IndirectList.iterator(IndirectList.java:477)
	at org.apache.taglibs.standard.tag.common.core.ForEachSupport.toForEachIterator(ForEachSupport.java:382)
	at org.apache.taglibs.standard.tag.common.core.ForEachSupport.supportedTypeForEachIterator(ForEachSupport.java:258)
	at org.apache.taglibs.standard.tag.common.core.ForEachSupport.prepare(ForEachSupport.java:189)
	at javax.servlet.jsp.jstl.core.LoopTagSupport.doStartTag(LoopTagSupport.java:287)
	at org.apache.jsp.event_jsp._jspx_meth_c_forEach_1(event_jsp.java from :1077)
	at org.apache.jsp.event_jsp._jspx_meth_c_otherwise_3(event_jsp.java from :1047)
	at org.apache.jsp.event_jsp._jspx_meth_c_choose_3(event_jsp.java from :964)
	at org.apache.jsp.event_jsp._jspService(event_jsp.java from :264)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
	at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
	at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:873)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:723)
	at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:679)
	at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:594)
	at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:1013)
	at org.apache.jsp.site_jsp._jspx_meth_c_when_0(site_jsp.java from :479)
	at org.apache.jsp.site_jsp._jspService(site_jsp.java from :166)
	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:109)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:389)
	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:486)
	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:380)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
	at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
	at org.apache.catalina.core.ApplicationDispatcher.doInvoke(ApplicationDispatcher.java:873)
	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:723)
	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:558)
	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:490)
	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:382)
	at org.apache.olio.webapp.controller.ControllerServlet.process(ControllerServlet.java:63)
	at org.apache.olio.webapp.controller.ControllerServlet.doGet(ControllerServlet.java:93)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
	at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
	at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)
	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)
	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597)
	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872)
	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
	at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
	at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)


> Encounter Eclipselink ConcurrencyException under heavy load
> -----------------------------------------------------------
>
>                 Key: OLIO-144
>                 URL: https://issues.apache.org/jira/browse/OLIO-144
>             Project: Olio
>          Issue Type: Bug
>          Components: java-app
>    Affects Versions: 0.2
>         Environment: CentOS 5.3 4GB RAM 4vCPU
> ESX 4
> Glassfish 2.2.1, JDK 1.6U18
> Eclipselink 1.1.3
> 400 user load
>            Reporter: James Zubb
>            Assignee: Shanti Subramanyam
>
> I have been seeing eclipselink concurrencyexception when the system is under heavy load.   Once the exception occurs the entire app hangs.  Here is the exception:
> [#|2010-02-10T16:15:10.003-0800|WARNING|sun-appserver2.1|org.eclipse.persistence.session.file:/opt/glassfish/domains/domain1/applications/j2ee-modules/webapp/WEB-INF/classes/-BPWebappPu|_ThreadID=16;_ThreadName=httpSSLWorkerThread-8080-0;_RequestID=57c0781d-255f-4f9e-9ccf-41a5c296befe;|
> Local Exception Stack: 
> Exception [EclipseLink-2004] (Eclipse Persistence Services - 1.1.3.v20091002-r5404): org.eclipse.persistence.exceptions.ConcurrencyException
> Exception Description: A signal was attempted before wait() on ConcurrencyManager. This normally means that an attempt was made to commit or rollback a transaction before it was started, or to rollback a transaction twice.
> 	at org.eclipse.persistence.exceptions.ConcurrencyException.signalAttemptedBeforeWait(ConcurrencyException.java:84)
> 	at org.eclipse.persistence.internal.helper.ConcurrencyManager.releaseReadLock(ConcurrencyManager.java:478)
> 	at org.eclipse.persistence.internal.identitymaps.CacheKey.releaseReadLock(CacheKey.java:433)
> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.cloneAndRegisterObject(UnitOfWorkImpl.java:939)
> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.cloneAndRegisterObject(UnitOfWorkImpl.java:833)
> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkIdentityMapAccessor.getAndCloneCacheKeyFromParent(UnitOfWorkIdentityMapAccessor.java:171)
> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkIdentityMapAccessor.getFromIdentityMap(UnitOfWorkIdentityMapAccessor.java:110)
> 	at org.eclipse.persistence.internal.sessions.IdentityMapAccessor.getFromIdentityMap(IdentityMapAccessor.java:327)
> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerExistingObject(UnitOfWorkImpl.java:3776)
> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerExistingObject(UnitOfWorkImpl.java:3736)
> 	at org.eclipse.persistence.queries.ObjectBuildingQuery.registerIndividualResult(ObjectBuildingQuery.java:362)
> 	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildWorkingCopyCloneNormally(ObjectBuilder.java:582)
> 	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObjectInUnitOfWork(ObjectBuilder.java:544)
> 	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:485)
> 	at org.eclipse.persistence.internal.descriptors.ObjectBuilder.buildObject(ObjectBuilder.java:437)
> 	at org.eclipse.persistence.queries.ObjectLevelReadQuery.buildObject(ObjectLevelReadQuery.java:569)
> 	at org.eclipse.persistence.queries.ReadAllQuery.registerResultInUnitOfWork(ReadAllQuery.java:904)
> 	at org.eclipse.persistence.queries.ReadAllQuery.executeObjectLevelReadQuery(ReadAllQuery.java:490)
> 	at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeDatabaseQuery(ObjectLevelReadQuery.java:928)
> 	at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:664)
> 	at org.eclipse.persistence.queries.ObjectLevelReadQuery.execute(ObjectLevelReadQuery.java:889)
> 	at org.eclipse.persistence.queries.ReadAllQuery.execute(ReadAllQuery.java:458)
> 	at org.eclipse.persistence.queries.ObjectLevelReadQuery.executeInUnitOfWork(ObjectLevelReadQuery.java:952)
> 	at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.internalExecuteQuery(UnitOfWorkImpl.java:2750)
> 	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1181)
> 	at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1165)
> 	at org.eclipse.persistence.internal.indirection.QueryBasedValueHolder.instantiate(QueryBasedValueHolder.java:81)
> 	at org.eclipse.persistence.internal.indirection.QueryBasedValueHolder.instantiate(QueryBasedValueHolder.java:71)
> 	at org.eclipse.persistence.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:83)
> 	at org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder.instantiateImpl(UnitOfWorkValueHolder.java:161)
> 	at org.eclipse.persistence.internal.indirection.UnitOfWorkValueHolder.instantiate(UnitOfWorkValueHolder.java:230)
> 	at org.eclipse.persistence.internal.indirection.DatabaseValueHolder.getValue(DatabaseValueHolder.java:83)
> 	at org.eclipse.persistence.indirection.IndirectList.buildDelegate(IndirectList.java:220)
> 	at org.eclipse.persistence.indirection.IndirectList.getDelegate(IndirectList.java:386)
> 	at org.eclipse.persistence.indirection.IndirectList$1.<init>(IndirectList.java:514)
> 	at org.eclipse.persistence.indirection.IndirectList.listIterator(IndirectList.java:513)
> 	at org.eclipse.persistence.indirection.IndirectList.iterator(IndirectList.java:477)
> 	at org.apache.olio.webapp.model.ModelFacade.getSocialEvent(ModelFacade.java:583)
> 	at org.apache.olio.webapp.controller.EventAction.process(EventAction.java:71)
> 	at org.apache.olio.webapp.controller.ControllerServlet.process(ControllerServlet.java:61)
> 	at org.apache.olio.webapp.controller.ControllerServlet.doGet(ControllerServlet.java:93)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:734)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
> 	at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315)
> 	at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
> 	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)
> 	at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648)
> 	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593)
> 	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587)
> 	at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1093)
> 	at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:291)
> 	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:666)
> 	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:597)
> 	at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:872)
> 	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341)
> 	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263)
> 	at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214)
> 	at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:264)
> 	at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
> |#]
> The culprit is the comments.  I modified the allocation size of the CommentsRating table to 50000 (it is currently set at 20000) and it appears to fix this.
> I have also encountered this problem using Eclipselink 2.0 on Glassfish 2.2.1, I haven't tried Glassfish 3.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.