You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Thomas Lörtsch (JIRA)" <ji...@apache.org> on 2016/03/08 16:59:40 UTC

[jira] [Created] (AVRO-1807) NullPointerException from Json.ObjectWriter

Thomas Lörtsch created AVRO-1807:
------------------------------------

             Summary: NullPointerException from Json.ObjectWriter
                 Key: AVRO-1807
                 URL: https://issues.apache.org/jira/browse/AVRO-1807
             Project: Avro
          Issue Type: Bug
          Components: java
    Affects Versions: 1.8.0
         Environment: avro 1.8.0  
jackson-core-asl 1.9.13  
jackson-mapper-asl 1.9.13  
Java 7  
Mac OS X 10.11.3
            Reporter: Thomas Lörtsch


/* I posted this bug already to the dev-mailinglist [4]. Reporting it here again only to make sure it doesn't get lost and because this is the right place. */

The complete, slightly more involved code is on [1], especially [2], the JSON schema is at [3], but the relevant parts of the code follow below.


// parsing the schema
Schema.Parser parser = new Schema.Parser();
Schema schema = parser.parse(new File("schema.avsc")) ;
// setting up the encoder and driver
Json.ObjectWriter jsonDatumWriter = new Json.ObjectWriter();
OutputStream output = new FileOutputStream(new File("output.json"));
Encoder encoder = EncoderFactory.get().jsonEncoder(schema, output, pretty);
// writing
System.out.println(payload); // reassuring test the payload is intact
jsonDatumWriter.write(payload, encoder);


The console will print out a nice JSON string (the payload), followed by the following exception:
Exception in thread "main" java.lang.NullPointerException
at org.apache.avro.data.Json.write(Json.java:183)
at org.apache.avro.data.Json.writeObject(Json.java:272)
at org.apache.avro.data.Json.access$000(Json.java:48)
at org.apache.avro.data.Json$ObjectWriter.write(Json.java:122)
at converTor.WriterObject.append(WriterObject.java:59)
at converTor.ConverTor.main(ConverTor.java:251)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

My beginners guess is that the source of the problem is a call of asToken() in org.codehaus.jackson.JsonNode, which is abstract.


[0] https://issues.apache.org/jira/browse/avro/?selectedTab=com.atlassian.jira.jira-projects-plugin:summary-panel
[1] https://github.com/tomlurge/converTor
[2] https://github.com/tomlurge/converTor/blob/master/src/converTor/WriterObject.java
[3] https://github.com/tomlurge/converTor/blob/master/src/converTor/avro/schemata/Torperf.avsc
[4] https://mail-archives.apache.org/mod_mbox/avro-dev/201603.mbox/ajax/%3C828828B1-8A58-4050-81B4-C3EF0F26041B%40rat.io%3E



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)