AVRO-1975: Upgrade java dependencies#181
Conversation
busbey
left a comment
There was a problem hiding this comment.
We should draft a release note on the JIRA that covers what we'll tell downstream users has changed.
Also probably a good idea to try building against this change with some major downstream users of Avro. E.g. Hive, Hadoop, Spark
| <slf4j.version>1.7.7</slf4j.version> | ||
| <snappy.version>1.1.1.3</snappy.version> | ||
| <paranamer.version>2.8</paranamer.version> | ||
| <protobuf.version>2.6.1</protobuf.version> |
There was a problem hiding this comment.
this will definitely be breaking, given the history of compatibility issues amongst Protobuf minor versions. Probably fine if we're targeting 1.9
| <snappy.version>1.1.1.3</snappy.version> | ||
| <paranamer.version>2.8</paranamer.version> | ||
| <protobuf.version>2.6.1</protobuf.version> | ||
| <thrift.version>0.9.3</thrift.version> |
There was a problem hiding this comment.
Thrift has a habit of changing behavior in patch releases, making this compat even more severe than protobuf. Again I think fine for 1.9.
| <commons-codec.version>1.9</commons-codec.version> | ||
| <commons-compress.version>1.8.1</commons-compress.version> | ||
| <commons-httpclient.version>3.1</commons-httpclient.version> | ||
| <maven.version>2.0.11</maven.version> |
There was a problem hiding this comment.
this should be some 3.y.z maven version
There was a problem hiding this comment.
This version is also used for org.apache.maven:maven-project which doesn't have a 3.x stable release. I am not sure if it is abandoned or why it does not have 3.x release while the others have but it would surely require significant coding to upgrade these properly and I do not have experience in maven plugin development. Moreover, I would even not able to upgrade to the latest stable version 2.2.1 as it caused compile failures.
| <artifactId>commons-logging</artifactId> | ||
| <version>${commons-logging.version}</version> | ||
| </dependency> | ||
| <dependency> |
There was a problem hiding this comment.
just something we aren't using?
There was a problem hiding this comment.
Yes, it turned out we do not require this dependency neither for compile nor for the unit tests. It might cause a backward incompatible change if a consumer relies on that this package is among its transitive dependencies but the whole change would be in 1.9 only so it shall not be a problem.
Ensure that symbol names are valid ([A-Za-z_][A-Za-z0-9_]*) and unique within an enum. Fixes #179
mvn clean installexecuted successfully.Could you help me what other tests shall I execute to ensure everything is fine?
Also executed the Hive build and the unit tests using this avro build without any failure. I've used the Hive tag
release-2.0.1.