[
https://issues.apache.org/jira/browse/OFBIZ-2882?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bob Morley updated OFBIZ-2882:
------------------------------
Attachment: OFBIZ-2882_EntityCacheListTest.patch
This file contains a new unit test class for cache and exposes the problem with
flushing when an entity gets updated.
> EntityList cache clearing issues when removing generic entity via
> DelegatorImpl
> -------------------------------------------------------------------------------
>
> Key: OFBIZ-2882
> URL: https://issues.apache.org/jira/browse/OFBIZ-2882
> Project: OFBiz
> Issue Type: Bug
> Components: framework
> Affects Versions: SVN trunk
> Reporter: Bob Morley
> Priority: Critical
> Attachments: OFBIZ-2882_EntityCacheListTest.patch
>
>
> For more information refer to
> http://www.nabble.com/EntityList-cache-issues-...-to25179637.html
> Ran into some trouble when we turned out caching and started to dependent on
> the EntityList cache. The two problems were:
> 1) When attempting to storeHook to the entityListCache or entityObjectCache
> via the Cache.remove method, the NEW entity was being passed into the OLD
> entity. This caused condition matching (in the list cache) to sometimes fail
> if a matched entity no longer matches do to it being modified.
> 2) During the matching logic the EntityJoinOperator was incorrectly short
> circuiting. It was always checking if the lhs/rhs condition was true and if
> so returning the short-circuit value. A concrete example is as such -- (A is
> funny) && (B is funny). The short-circuit value for this expression is
> "FALSE" which means that if the first expression is FALSE we short-circuit
> and return FALSE. What was happening was "if (A is funny) then return FALSE"
> rather then "if (A is funny == FALSE) then return FALSE".
> I have a patch in the works for both of these issues and will include a unit
> tester that illustrates the problems (pre-patch) and passes successfully
> (post-patch).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.