[ https://issues.apache.org/jira/browse/AVRO-1807?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15280735#comment-15280735 ]
Ryan Blue commented on AVRO-1807: --------------------------------- Since this is a really small change, I'll commit it to unblock the 1.8.1 release in the next day or so unless anyone disagrees. Thanks! > 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 > Assignee: Ryan Blue > Priority: Blocker > Attachments: AVRO-1807.1.patch > > > /* 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. > {code} > // 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); > {code} > The console will print out a nice JSON string (the payload), followed by the > following exception: > {code} > 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) > {code} > 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)