[ https://issues.apache.org/jira/browse/KAFKA-4920?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16377724#comment-16377724 ]
ASF GitHub Bot commented on KAFKA-4920: --------------------------------------- guozhangwang closed pull request #4622: KAFKA-4920: Stamped implements equals URL: https://github.com/apache/kafka/pull/4622 This is a PR merged from a forked repository. As GitHub hides the original diff on merge, it is displayed below for the sake of provenance: As this is a foreign pull request (from a fork), the diff is supplied below (as it won't show otherwise due to GitHub magic): diff --git a/gradle/findbugs-exclude.xml b/gradle/findbugs-exclude.xml index 33702056d83..662864c8c73 100644 --- a/gradle/findbugs-exclude.xml +++ b/gradle/findbugs-exclude.xml @@ -241,12 +241,6 @@ For a detailed description of findbugs bug categories, see http://findbugs.sourc <Bug pattern="IS2_INCONSISTENT_SYNC"/> </Match> - <Match> - <!-- Suppress warnings about implementing compareTo but not equals. --> - <Class name="org.apache.kafka.streams.processor.internals.Stamped"/> - <Bug pattern="EQ_COMPARETO_USE_OBJECT_EQUALS"/> - </Match> - <Match> <!-- TODO: fix this (see KAFKA-4996) --> <Or> diff --git a/streams/src/main/java/org/apache/kafka/streams/processor/internals/Stamped.java b/streams/src/main/java/org/apache/kafka/streams/processor/internals/Stamped.java index 4965238e856..4452a9b9a92 100644 --- a/streams/src/main/java/org/apache/kafka/streams/processor/internals/Stamped.java +++ b/streams/src/main/java/org/apache/kafka/streams/processor/internals/Stamped.java @@ -34,4 +34,19 @@ public int compareTo(Object other) { else if (timestamp > otherTimestamp) return 1; return 0; } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + // we do not compare values for this stamped object + return this.compareTo(o) == 0; + } + + @Override + public int hashCode() { + // we do not use values for this object's hashcode + return (int) (timestamp ^ (timestamp >>> 32)); + } } ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > Stamped should implement equals > ------------------------------- > > Key: KAFKA-4920 > URL: https://issues.apache.org/jira/browse/KAFKA-4920 > Project: Kafka > Issue Type: Improvement > Components: streams > Reporter: Marc Juchli > Priority: Minor > > We ran FundBug, which resulted in the "Bad practice warning": > Bug type EQ_COMPARETO_USE_OBJECT_EQUALS (click for details) > In class org.apache.kafka.streams.processor.internals.Stamped > In method > org.apache.kafka.streams.processor.internals.Stamped.compareTo(Object) > At Stamped.java:[lines 31-35] -- This message was sent by Atlassian JIRA (v7.6.3#76005)