Description
AVRO-972 uses a method on JsonNode that was introduced with Jackson 1.6.0. Unfortunately, Hadoop in a distributed environment places jackson on the mapreduce classpath prior to a user's Jar.
Avro should function when this happens.
There are two things we are using that are new in Jackson 1.6.0 – JsonNode.getValueAsDouble() and MinimalPrettyPrinter
MinimalPrettyPrinter is OK because the class is new, and if there is a Jackson 1.5.x jar on a classpath before one that is >= 1.6.0, it will find the class in the second jar. We need to avoid JsonNode.getValueAsDouble() however. There is a replacement that is equivalent and existed prior, JsonNode.getDoubleValue().