[jboss-jira] [JBoss JIRA] (AS7-3343) Concurrency issues in ReferenceCountingEntityCache
Alexey Makhmutov (JIRA)
jira-events at lists.jboss.org
Wed Jan 18 06:16:19 EST 2012
[ https://issues.jboss.org/browse/AS7-3343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12660102#comment-12660102 ]
Alexey Makhmutov commented on AS7-3343:
---------------------------------------
The test case was acutally assembled on 7.1.Final-SNAPSHOT. I've just pulled latest changes and rebuilt server -- same behavior is observed (i.e. errors).
> Concurrency issues in ReferenceCountingEntityCache
> --------------------------------------------------
>
> Key: AS7-3343
> URL: https://issues.jboss.org/browse/AS7-3343
> Project: Application Server 7
> Issue Type: Bug
> Components: EJB
> Affects Versions: 7.1.0.CR1b
> Reporter: Alexey Makhmutov
> Assignee: Stuart Douglas
> Attachments: cacheProblemTC.zip
>
>
> While running multithreaded workload against AS 7.1Beta/CR1 for application with Entity EJB 2.x we've faced a lot of following errors:
> * Instance for PK [XXX] already registerd.
> * Instance [YYY] not found in cache
> It seems, that these errors are caused by synchronization issues in ReferenceCountingEntityCache:
> * If two threads are trying to access the cache and there is no ready instance for particular PK in the cache, then both threads are trying to get some instance from the pool and put it into the cache -- as result, the second thread can get 'already registered' exception. We were able to compose a minimal test case application which reproduces this kind of problem (see below).
> * There is a gap in time between the call to Associate interceptor (which puts instance in cache - via 'get' method) and Synchronization interceptor (which calls 'reference' method). During this time instance is not referenced, so it seems it can be removed by some other thread which finish its invocation at the same time. Probably this is the root cause of 'not found in cache' error, however it's hard to create a syntetic test case for it.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list