You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ibatis.apache.org by "Sasha Borodin (JIRA)" <ib...@incubator.apache.org> on 2005/02/10 19:00:14 UTC
[jira] Commented: (IBATIS-70) iBatis Caching Should Not Rely on hashCode Alone
[ http://issues.apache.org/jira/browse/IBATIS-70?page=comments#action_58940 ]
Sasha Borodin commented on IBATIS-70:
-------------------------------------
I have duplicated this problem in my own environment; i believe the original poster's assertion of identical hashcodes is indeed the culprit. Thanks for looking into it everyone.
> iBatis Caching Should Not Rely on hashCode Alone
> ------------------------------------------------
>
> Key: IBATIS-70
> URL: http://issues.apache.org/jira/browse/IBATIS-70
> Project: iBatis for Java
> Type: Bug
> Components: SQL Maps
> Environment: All
> Reporter: Jeff Butler
> Priority: Critical
>
> (From the mailing list)
> I found a problem recently related to iBatis caching.
> I have a mapped select statement that takes one parameter, a string.
> I'm not using a parameter map, just passing the string in directly on a
> queryForList() call. I was using the LRU cache on that statement. I
> found that the statement was returning incorrect values in several
> cases. It came down to this...two parameter strings yielded the same
> hashCode, so iBatis caching thought they were the same string and
> incorrectly returned the value from the cache.
> An example is the two strings "HS1CS001" and "HS1D4001". Both strings
> yield the same hashCode. So the com.ibatis.sqlmap.engine.cache.CacheKey
> class generated the same CacheKey for two different calls. If the
> statement has already been called with "HS1CS001" as the parameter, and
> is later called with "HS1D4001", then the result for the first call will
> be returned from the cache on the second call. Not good!
> So, iBatis should not rely on hashCode to generate its
> internal CacheKey since it is certainly allowable for different, and
> unequal, objects to return the same hashCode.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira