avro-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "W.P. McNeill" <bill...@gmail.com>
Subject Re: How should I migrate 1.4 code to avro 1.5?
Date Tue, 06 Sep 2011 16:20:03 GMT
I opened https://issues.apache.org/jira/browse/AVRO-883. Let me know if you
need anything else to incorporate this example.

On Fri, Sep 2, 2011 at 6:09 PM, Scott Carey <scottcarey@apache.org> wrote:

> Start with a JIRA ticket and we can discuss and refine there.
>
> What we accept into the project must be attached as a patch to the JIRA
> ticket with the sign-off to Apache and proper license headers on the
> content.
>
> Thanks!
>
> -Scott
>
> On 9/2/11 5:53 PM, "W.P. McNeill" <billmcn@gmail.com> wrote:
>
> I've got a building version with Chris Wilkes' changes. I'd be happy to
> include this in an Avro distribution. Should I just open a JIRA to that
> effect and point to this github project?
>
> On Fri, Sep 2, 2011 at 5:28 PM, Chris Wilkes <cwilkes@gmail.com> wrote:
>
>> Oh and I'm the one that did the pull request.  I changed the name of
>> the avro class to "MyPair" as I was confused when reading it with
>> avro's own "Pair" class.
>>
>> What I usually do is put all of my avro schemas into a separate
>> project with nothing else in it.  Then I have all my other projects
>> depend on that one, in this case AvroExample.java would be a in a
>> separate project from MyPair.avsc.  This gets around weirdness with
>> mvn install vs Eclipse seeing the updated files, etc.
>>
>> On Fri, Sep 2, 2011 at 5:20 PM, W.P. McNeill <billmcn@gmail.com> wrote:
>> > Still having trouble with this.
>> > The name change was part of merging the pull request on github. My last
>> > email details where I'm at right now. The pull request code looks
>> correct;
>> > I'm just trying to get it to build in my Maven environment.
>> >
>> > On Fri, Sep 2, 2011 at 5:19 PM, Scott Carey <scottcarey@apache.org>
>> wrote:
>> >>
>> >> Are you still having trouble with this?  I noticed that the code has
>> >> changed and you are using MyPair instead of Pair.  Was there a naming
>> >> conflict bug with Avro's Pair.java?
>> >> -Scott
>> >> On 9/2/11 3:46 PM, "W.P. McNeill" <billmcn@gmail.com> wrote:
>> >>
>> >> I made changes that got rid of all the deprecated calls.  I think I am
>> >> using the 1.5 interface correctly.  However, I get a runtime error when
>> I
>> >> try to deserialize into a class using a SpecificDataumReader.  The
>> problem
>> >> starts at line 62 of AvroExample.java.  The code looks like this:
>> >>       DatumReader<Pair> reader = new
>> >> SpecificDatumReader<Pair>(Pair.class);
>> >>       BinaryDecoder decoder =
>> >> DecoderFactory.get().binaryDecoder(out.toByteArray(), null);
>> >>       Pair result = reader.read(null, decoder);
>> >>       System.out.printf("Left: %s, Right: %s\n", result.left,
>> >> result.right);
>> >> Where Pair is an object I have SpecificRecord that I have in this
>> project.
>> >> When I deserialize with reader.read() I get the following runtime
>> error:
>> >> Exception in thread "main" java.lang.ClassCastException:
>> >> org.apache.avro.generic.GenericData$Record cannot be cast to wpmcn.Pair
>> >> at wpmcn.AvroExample.serializeSpecific(AvroExample.java:64)
>> >> at wpmcn.AvroExample.main(AvroExample.java:73)
>> >> When I step into the debugger I see that the GenericDatumReader.read()
>> >> function has type D as GenericData.
>> >> Presumably I'm calling something wrong but I can't figure out what.
>> >> On Fri, Sep 2, 2011 at 3:02 PM, Philip Zeyliger <philip@cloudera.com>
>> >> wrote:
>> >>>
>> >>> EncoderFactory.get().binaryEncoder(...).
>> >>> I encourage you to file a JIRA and submit a patch to AVRO.  Having
>> >>> example code in the code base seems like a win to me.
>> >>> -- Philip
>> >>>
>> >>> On Fri, Sep 2, 2011 at 2:41 PM, W.P. McNeill <billmcn@gmail.com>
>> wrote:
>> >>>>
>> >>>> I'm new to Avro. Since I'm having trouble finding simple examples
>> online
>> >>>> I'm writing one of my own that I'm putting on github.
>> >>>> https://github.com/wpm/AvroExample
>> >>>> Hopefully, this will be of help to people like me who are also having
>> >>>> trouble finding simple code examples.
>> >>>> I want to get this compiling without of hitch in Maven. I had it
>> running
>> >>>> with a 1.4 version of Avro, but when I changed that to 1.5, some
of
>> the code
>> >>>> no longer works. Specifically, BinaryEncoder can no longer be
>> instantiated
>> >>>> directly because it is now an abstract class (AvroExample.java:
line
>> 33) and
>> >>>> DecoderFactory.defaultFactory is deprecated (AvroExample.java: line
>> 41).
>> >>>> How should I modify this code so that it works with the latest and
>> >>>> greatest version of Avro?  I looked through the Release Notes, but
>> the
>> >>>> answers weren't obvious.
>> >>>> Thanks.
>> >>>
>> >>
>> >
>> >
>>
>
>

Mime
View raw message