[ 
https://issues.apache.org/jira/browse/ACCUMULO-2892?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14028336#comment-14028336
 ] 

Mike Drob commented on ACCUMULO-2892:
-------------------------------------

Actually, the situation is more complicated than that. {{QCMutation::hashCode}} 
inherits {{ConditionalMutation::hashCode}} which hashes on the thrift 
representation and the conditions. However, when {{QCMutation::equals}} 
delegates to {{QCMutation::compareTo}} it only compares the {{resetTime}} 
fields, ignoring conditions.

[~kturner] - What is the intent here? I can take a guess and make it 
consistent, but I don't know if that is correct.

> QCMutation defines equals but not hashcode
> ------------------------------------------
>
>                 Key: ACCUMULO-2892
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-2892
>             Project: Accumulo
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 1.6.0
>            Reporter: Mike Drob
>              Labels: findbugs
>             Fix For: 1.6.1, 1.7.0
>
>
> FindBugs output: 
> {{org.apache.accumulo.core.client.impl.ConditionalWriterImpl$QCMutation 
> defines equals but not hashCode}}
> It looks like {{equals}} also depends on {{compareTo}}, which is unsafe. 
> (This equals dependency is fine, but compareTo does an unchecked cast.)



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to