Re: sharp edges on moving to 1.9.0

2019-06-25 Thread Driesprong, Fokko
Hi Sean,

Thanks for picking this up right away. I think we should see if we can fix
the snappy issue. What kind of throwable are you seeing?

A few things have been updated.


*Deprecate Joda-Time in favor of Java8 JSR310*
Right now Avro uses JSR310 (Java8) Time by default and replaces the Joda
time library. You can still use the Joda library using by a setting. If
you're using logical times this might impact your application.


*Move from Jackson 1.x to 2.9*
The schema of Avro is encoded in JSON. The handling of reading the JSON is
being done by Java's popular library called Jackson. The old Codehaus
Jackson 1.x has been replaced by FasterXML's Jackson 2.9. It is always
important to keep Jackson up to date since it is prone to security issues.
Also, the Jackson library has been removed from the public API. So:
import org.codehaus.jackson.node.NullNode;
new Schema.Field(name, schema, doc, NullNode.getInstance());

Will become:
import org.apache.avro.JsonProperties;
new Schema.Field(name, schema, doc, JsonProperties.NULL_VALUE);

This is also important if you shade Jackson away, to make sure to switch
from codehaus to fasterxml.

One issue https://jira.apache.org/jira/browse/AVRO-2400 which is blocking
for Spark.

In general, there are some rough edges, but most of the time it is just API
and binary compatible, with the few exceptions above. Right now we're
trying to find these issues, and fix them in 1.9.1.

Cheers, Fokko



Op di 25 jun. 2019 om 17:54 schreef Sean Busbey :

> today I tried to move a java project from 1.7.7 to 1.9.0 and the first
> issue I hit was an unexpected NPE when using CodecFactory.
>
> Specifically I was trying to get the string name of the SnappyCodec as
> a default cli option. This was fine on 1.7 and 1.8 and in 1.9 fails.
> This was surprising because I didn't recall anything about snappy
> changes that would make me expect to do work on this part of things.
>
> I have chased it down to this commit:
>
>
> https://github.com/apache/avro/commit/21098529e659743e551f2c35652d1a93c1528082
>
> Unfortunately the commit does not have a JIRA key, and I haven't been
> able to reverse engineer where it came in. I'd like to work it out so
> I can add a release note recommending how to work around the issue.
>
> This also led me to a related problem: looking at release notes so I
> can figure out what to expect when upgrading. Where should I be
> looking?
>
> On Tue, Jun 25, 2019 at 10:51 AM Sean Busbey  wrote:
> >
> > What difficulties are folks running into when trying to move to 1.9.0 so
> far?
> >
> > --
> > busbey
>
>
>
> --
> busbey
>


Re: sharp edges on moving to 1.9.0

2019-06-25 Thread Sean Busbey
today I tried to move a java project from 1.7.7 to 1.9.0 and the first
issue I hit was an unexpected NPE when using CodecFactory.

Specifically I was trying to get the string name of the SnappyCodec as
a default cli option. This was fine on 1.7 and 1.8 and in 1.9 fails.
This was surprising because I didn't recall anything about snappy
changes that would make me expect to do work on this part of things.

I have chased it down to this commit:

https://github.com/apache/avro/commit/21098529e659743e551f2c35652d1a93c1528082

Unfortunately the commit does not have a JIRA key, and I haven't been
able to reverse engineer where it came in. I'd like to work it out so
I can add a release note recommending how to work around the issue.

This also led me to a related problem: looking at release notes so I
can figure out what to expect when upgrading. Where should I be
looking?

On Tue, Jun 25, 2019 at 10:51 AM Sean Busbey  wrote:
>
> What difficulties are folks running into when trying to move to 1.9.0 so far?
>
> --
> busbey



-- 
busbey


sharp edges on moving to 1.9.0

2019-06-25 Thread Sean Busbey
What difficulties are folks running into when trying to move to 1.9.0 so far?

-- 
busbey