[ https://issues.apache.org/jira/browse/MAHOUT-208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12789207#action_12789207 ]
Sean Owen commented on MAHOUT-208: ---------------------------------- Agree with Jake, there isn't any special handling of hashcode. This also introduces the possibility of errors, which seems unacceptable for this API. I'll go the other way and just fix handling of the caching, because yes it's going to be quite wrong if the vector is changed. > Vector.getLengthSquared() is dangerously optimized > -------------------------------------------------- > > Key: MAHOUT-208 > URL: https://issues.apache.org/jira/browse/MAHOUT-208 > Project: Mahout > Issue Type: Bug > Components: Matrix > Affects Versions: 0.1 > Environment: all > Reporter: Jake Mannix > Assignee: Sean Owen > Fix For: 0.3 > > > SparseVector and DenseVector both cache the value of lengthSquared, so that > subsequent calls to it get the cached value. Great, except the cache is > never cleared - calls to set/setQuick or assign or anything, all leave the > cached value unchanged. > Mutating method calls should set lengthNorm to -1 so that the cache is > cleared. > This could be a really nasty bug if hit. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.