MemoRyAxis / thrift-protobuf-compare

Automatically exported from code.google.com/p/thrift-protobuf-compare
0 stars 0 forks source link

Regression: BenchmarkRunner fails to run #19

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
In changeset r104 (
http://code.google.com/p/thrift-protobuf-compare/source/detail?r=104 ) the
dependency to jackson was updated from version 1.0.1 to 1.3.1.

Unfortunately this breaks Avro, which needs 1.0.1. The symptom is

Exception in thread "main" java.lang.NoSuchMethodError:
org.codehaus.jackson.JsonFactory.setCodec(Lorg/codehaus/jackson/ObjectCodec;)V
    at org.apache.avro.Schema.<clinit>(Schema.java:65)
    at
serializers.avro.AvroGenericSerializer.<clinit>(AvroGenericSerializer.java:19)
    at serializers.BenchmarkRunner.main(BenchmarkRunner.java:38)

Original issue reported on code.google.com by michael....@gmail.com on 6 Jan 2010 at 10:31

GoogleCodeExporter commented 8 years ago
reassigning to tsaloranta:

I could easily revert the changes leading to this regression, but maybe you 
know a
better way, since you did the commit in the first place.

Original comment by michael....@gmail.com on 6 Jan 2010 at 10:35

GoogleCodeExporter commented 8 years ago
My understanding was that Avro was already broken (since I had other problems 
prior),
but perhaps those had been resolved, and I did not notice it since I had Avro 
tests
commented out locally. Apologies for breakage.

As you point out, Avro has Ivy dependencies set to 1.0(.1), which for some 
reason
causes issues (what is strange is that method that is claimed to be missing is
included in later Jackson versions -- 1.2, 1.3, 1.4).
And I can not do a local Avro build to change that (for some reason Avro seems 
to
require some APR package, perhaps for non-Java parts).

If necessary, you can revert back to Jackson version 1.0.1.

This is one case where using something like Japex would help: tests could have
different dependencies without conflicts.

Original comment by tsaloranta@gmail.com on 6 Jan 2010 at 11:27

GoogleCodeExporter commented 8 years ago
Ok, version 1.1.2 of Jackson seems to work: will run full test suite to verify, 
if
so, commit downgrade for jackson libs for now. Can then upgrade Jackson if and 
when
Avro gets updated to a more recent version (or recompiled, if that is all that 
is
needed).

Original comment by tsaloranta@gmail.com on 6 Jan 2010 at 11:34

GoogleCodeExporter commented 8 years ago
Ooops, I just reverted to Jackson 1.0.1. 

jar hell, how I love it...

Original comment by michael....@gmail.com on 6 Jan 2010 at 11:35

GoogleCodeExporter commented 8 years ago
Feel free to upgrade to 1.1.2 again :)

Thanks for your fast response!

Original comment by michael....@gmail.com on 6 Jan 2010 at 11:37

GoogleCodeExporter commented 8 years ago
Done: upgraded to 1.1.2. Thank you for pointing out the issue.

Original comment by tsaloranta@gmail.com on 7 Jan 2010 at 1:55

GoogleCodeExporter commented 8 years ago
Michael mentioned it earlier ... the code really does need proper formatting.
A format could be chosen from one of the opensource projects. (e.g jackson)
Anything works for me as long as code is uniform.

Original comment by david.yu...@gmail.com on 7 Jan 2010 at 4:13