[ https://issues.apache.org/jira/browse/OFBIZ-5534?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14044923#comment-14044923 ]
Adrian Crum commented on OFBIZ-5534: ------------------------------------ I don't like the blocking aspect of it. Plus, it sounds overly complicated, but that might be due to the fact that I can't see the actual changes. I was hoping we could work together to design a non-blocking solution. Perhaps we need to create a branch to try out ideas. > Dirty reads from entity cache > ----------------------------- > > Key: OFBIZ-5534 > URL: https://issues.apache.org/jira/browse/OFBIZ-5534 > Project: OFBiz > Issue Type: Bug > Components: framework > Affects Versions: Release Branch 11.04, SVN trunk, Release Branch 12.04, > Release Branch 13.07 > Reporter: Jacopo Cappellato > Assignee: Adam Heath > Attachments: unittest-dirtyreadsfromcache.patch > > > Even if database transaction isolation level is set to "ReadCommitted", a > transaction can get uncommitted records from the entity cache, under certain > circumstances. > Here is a test case: > 1) transaction T1 creates a record > 2) T1 calls findOne to retrieve it: the read will be successful (because T1 > can read data generated in T1 even if not committed) and the record will be > added to the cache > 3) T1 calls another service with requireNewTransaction set to true: this will > run the second service in a new transaction T2 > 4) T2 calls findOne to retrieve the record created by T1: if useCache is set > to false it should fail; if useCache is set to true it will succeed (getting > the record from cache, even if the data is not committed to the db) > The result in #4 is wrong because T2 should not see the uncommitted record > We should never add uncommitted records to the entity cache. -- This message was sent by Atlassian JIRA (v6.2#6252)