Posted by
Nicolas Malin (Jira) on
Sep 26, 2011; 7:58am
URL: http://ofbiz.116.s1.nabble.com/jira-Created-OFBIZ-4341-GenericDelegator-findOne-cache-not-working-for-not-found-values-cached-not-f-tp3672398p3843016.html
[
https://issues.apache.org/jira/browse/OFBIZ-4341?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13114520#comment-13114520 ]
Martin Kreidenweis commented on OFBIZ-4341:
-------------------------------------------
Just checking up on the ticket status... :-)
Do you need more info or did you just not get around to applying the patch yet?
One thing we might want to be careful about: Some code might actually depend on the buggy behavior and expect that the cache is not used for not-found primary key values. Still, the intention of the original code seems to me like it wanted to use that cache and it just didn't work. So I think we should fix this.
We found the issue while profiling a service in our application.
> GenericDelegator.findOne cache not working for not-found values (cached not-found treated like cache miss)
> ----------------------------------------------------------------------------------------------------------
>
> Key: OFBIZ-4341
> URL:
https://issues.apache.org/jira/browse/OFBIZ-4341> Project: OFBiz
> Issue Type: Bug
> Components: framework
> Affects Versions: SVN trunk
> Reporter: Martin Kreidenweis
> Attachments: OFBIZ-4341-findOne-cache-fix.patch
>
>
> {{GenericDelegator.findOne}} doesn't handle the cache consistently.
> When it doesn't find anything, it puts {{GenericValue.NULL_VALUE}} in the cache. When trying to read from the cache it uses the {{getFromPrimaryKeyCache}} method, which returns null when {{GenericValue.NULL_VALUE}} was stored in the cache, just like for cache misses. So a not-found value in the cache is treated like a cache miss and the cache isn't actually used.
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira