[prev in list] [next in list] [prev in thread] [next in thread] 

List:       avro-dev
Subject:    [jira] [Created] (AVRO-1100) ResolveUnion in 1.6.3 thinks a HashMap is a Record.
From:       "Joe Gamache (JIRA)" <jira () apache ! org>
Date:       2012-05-22 15:21:41
Message-ID: 298651299.8330.1337700101125.JavaMail.jiratomcat () issues-vm
[Download RAW message or body]

Joe Gamache created AVRO-1100:
---------------------------------

             Summary: ResolveUnion in 1.6.3 thinks a HashMap is a Record.
                 Key: AVRO-1100
                 URL: https://issues.apache.org/jira/browse/AVRO-1100
             Project: Avro
          Issue Type: Bug
          Components: java
    Affects Versions: 1.6.3
         Environment: Windows, eclipse
            Reporter: Joe Gamache
         Attachments: IntegerMap.java, ReflectDataTest.java

Getting an exception thrown on line 542 of ReflectData.java.   Put a breakpoint there \
and found the following:

1. Datum is a HashMap with 119 entries.
2. If I select "getSchemaName(datum)" (line 539) and say inspect, it returns \
"java.util.HashMap" 3. The "indexByName" also being accessed on line 539 = {map=1, \
null=0} 4. In "getSchemaName" if I select "isMap(datum)" and say inspect, it returns \
"true" (this would then return "map" which DOES exist in the indexByName structure 5. \
However, still in "getSchemaName" if I select "isRecord(datum)" and say inspect, I \
also get back "true".  This then returns "getRecordSchema(datum).getFullName(), which \
is where the java.util.HashMap from item #2 comes from.   Since this is not in the \
"indexByName" map, I get an UnresolvedUntionException.

Either "isRecord" needs to be fixed to not return true for Maps, or the test for \
"isMap" at line 556 needs to moved up ahead of the test for "isRecord".

This works fine under 1.5.4, but breaks under 1.6.3.  I have a JUnit test that \
reproduces this, if I can figure out how to attach it :), I will.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: \
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more \
information on JIRA, see: http://www.atlassian.com/software/jira

        


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic