Uploaded image for project: 'Apache Gora'
  1. Apache Gora
  2. GORA-188

testSerdeWebPage failure - PersistentBase#equals() fails with map fields

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Later
    • Affects Version/s: 0.2.1
    • Fix Version/s: 0.3
    • Component/s: gora-core
    • Labels:
      None

      Description

      As shown here:

      junit.framework.AssertionFailedError: expected:<org.apache.gora.examples.generated.WebPage@4b49ab6f {
        "url":"http://bar.com/"
        "content":"java.nio.HeapByteBuffer[pos=1 lim=1 cap=1]"
        "parsedContent":"[1]"
        "outlinks":"{http://bazbar.com=a8, http://baz.com/1.jsp&q=barbaz&p=foo=a6, http://baz.com/1.jsp&q=barbaz=a5, http://bar.com/3.jsp=a3, http://bar.com/1.html=a4, http://foo.com/1.html=a1, http://foo.com/2.html=a2, http://baz.com/1.jsp&q=foo=a7}"
        "metadata":"org.apache.gora.examples.generated.Metadata@51a {
        "version":"1"
        "data":"{metakey=metavalue}"
      }"
      }> but was:<org.apache.gora.examples.generated.WebPage@4b6d94c0 {
        "url":"http://bar.com/"
        "content":"java.nio.HeapByteBuffer[pos=0 lim=1 cap=1]"
        "parsedContent":"[1]"
        "outlinks":"{http://baz.com/1.jsp&q=barbaz=a5, http://baz.com/1.jsp&q=barbaz&p=foo=a6, http://bazbar.com=a8, http://bar.com/3.jsp=a3, http://foo.com/1.html=a1, http://bar.com/1.html=a4, http://foo.com/2.html=a2, http://baz.com/1.jsp&q=foo=a7}"
        "metadata":"org.apache.gora.examples.generated.Metadata@51a {
        "version":"1"
        "data":"{metakey=metavalue}"
      }"
      }>
      	at junit.framework.Assert.fail(Assert.java:50)
      	at junit.framework.Assert.failNotEquals(Assert.java:287)
      	at junit.framework.Assert.assertEquals(Assert.java:67)
      	at junit.framework.Assert.assertEquals(Assert.java:74)
      	at org.apache.gora.util.TestIOUtils.testSerializeDeserialize(TestIOUtils.java:125)
      	at org.apache.gora.mapreduce.TestPersistentSerialization.testSerdeWebPage(TestPersistentSerialization.java:85)
      

      – edited : In PersistentBase#getFieldHashCode() (at line 256) must check if the field is UNION and call recursively in that case to compute properly the hash code.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                alfonso.nishikawa Alfonso Nishikawa
                Reporter:
                alfonso.nishikawa Alfonso Nishikawa
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: