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

ASF GitHub Bot commented on STORM-139:
--------------------------------------

Github user d2r commented on a diff in the pull request:

    https://github.com/apache/storm/pull/641#discussion_r35130923
  
    --- Diff: storm-core/src/clj/backtype/storm/tuple.clj ---
    @@ -15,8 +15,11 @@
     ;; limitations under the License.
     
     (ns backtype.storm.tuple
    -  (:import [java.util List]))
    +  (:import [java.util Arrays List]))
     
     (defn list-hash-code
       [^List alist]
    -  (.hashCode alist))
    +  (if (nil? alist)
    +    1
    +    (let [^"[Ljava.lang.Object;" array (.toArray alist)] ;; Object[]
    +      (Arrays/deepHashCode array))))
    --- End diff --
    
    The type hint here seems to be unnecessary.  I'll remove it.


> hashCode does not work for byte[]
> ---------------------------------
>
>                 Key: STORM-139
>                 URL: https://issues.apache.org/jira/browse/STORM-139
>             Project: Apache Storm
>          Issue Type: Bug
>            Reporter: James Xu
>            Priority: Minor
>
> https://github.com/nathanmarz/storm/issues/245
> Storm should use a different hashCode method when getting the hash for a 
> byte[] array, since the default one uses the object identity. Should check 
> the behavior on other arrays as well
> ----------
> xiaokang: I tested byte[] and other arrays. The hashCode of array is the 
> array object identity.
> I alse tested that java.util.Arrays.hashCode(xx[]) is based of the array 
> element's hash code. It maybe ok change the list-hash-code function of 
> tuple.clj to fix the problem.
> ----------
> Sirwellington: you may want to read this:
> http://martin.kleppmann.com/2012/06/18/java-hashcode-unsafe-for-distributed-systems.html



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to