Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-8647

Potential issues with the constant hashCode

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 1.4.0
    • 1.5.0
    • MLlib

    Description

      Hi,

      This may be potential bug or performance issue or just the code docs.

      The issue is wrt to MatrixUDT class.
      If we decide to put instance of MatrixUDT into the hash based collection.
      The hashCode function is returning constant and even though equals method is consistant with hashCode. I don't see the reason why hashCode() = 1994 (i.e constant) has been used.

      I was expecting it to be similar to the other matrix class or the vector class .

      If there is the reason why we have this code, we should document it properly in the code so that others reading it is fine.

      regards,
      Alok

      Details
      =====
      a)
      In reference to the file
      https://github.com/apache/spark/blob/master/mllib/src/main/scala/org/apache/spark/mllib/linalg/Matrices.scala

      line 188-197 ie

      override def equals(o: Any): Boolean = {
      o match {
      case v: MatrixUDT => true
      case _ => false
      }
      }
      override def hashCode(): Int = 1994

      b) the commit is
      https://github.com/apache/spark/commit/11e025956be3818c00effef0d650734f8feeb436
      on March 20.

      Attachments

        Activity

          People

            aloknsingh Alok Singh
            aloknsingh Alok Singh
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: