[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