You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Andy Le (Jira)" <ji...@apache.org> on 2020/05/03 03:32:00 UTC

[jira] [Commented] (AVRO-2778) Java: Reflect raises exceptions while dealing with non-static classes

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

Andy Le commented on AVRO-2778:
-------------------------------

This issue is related to https://issues.apache.org/jira/browse/AVRO-2808. So I close this one.

> Java: Reflect raises exceptions while dealing with non-static classes
> ---------------------------------------------------------------------
>
>                 Key: AVRO-2778
>                 URL: https://issues.apache.org/jira/browse/AVRO-2778
>             Project: Apache Avro
>          Issue Type: Bug
>          Components: java
>    Affects Versions: 1.9.2
>            Reporter: Andy Le
>            Priority: Major
>
> Hi guys,
> I've got the following simple code:
> {code:java}
> public class TestReflect {
>   public class Human{
>     String name = "Andy";
>   }
>   @Test
>   public void testNonStaticClasses(){
>     ReflectData.get().getSchema(Human.class) ;
>   }
> }
> {code}
> When I run the test, an exception is spawn:
> {noformat}
> org.apache.avro.SchemaParseException: Illegal character in: this$0
> 	at org.apache.avro.Schema.validateName(Schema.java:1530)
> 	at org.apache.avro.Schema.access$400(Schema.java:87)
> 	at org.apache.avro.Schema$Field.<init>(Schema.java:518)
> 	at org.apache.avro.Schema$Field.<init>(Schema.java:557)
> 	at org.apache.avro.reflect.ReflectData.createSchema(ReflectData.java:645)
> 	at org.apache.avro.specific.SpecificData$3.computeValue(SpecificData.java:335)
> 	at org.apache.avro.specific.SpecificData$3.computeValue(SpecificData.java:1)
> 	at java.lang.ClassValue.getFromHashMap(ClassValue.java:227)
> 	at java.lang.ClassValue.getFromBackup(ClassValue.java:209)
> 	at java.lang.ClassValue.get(ClassValue.java:115)
> 	at org.apache.avro.specific.SpecificData.getSchema(SpecificData.java:346)
>         ...
> {noformat}
> It seems to me that: Avro Reflect does NOT effectively handle non-static classes.
> Should I make a PR against this issue? 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)