Here is an example of something that might work: http://pastebin.com/t9Bbe1F6
My understanding is if you add methods at the end of an interface definition, the interface will remain compatible with a client compiled against the earlier version. This is based on our 0.90-ish internal branch so won't match up quite right with 0.90. Unit tests still pass. I haven't checked yet if indeed it will work with our client apps that use HRI#bulkLoadHFile. - Andy From: Andrew Purtell <[email protected]> >To: "[email protected]" <[email protected]>; "[email protected]" ><[email protected]> >Sent: Monday, October 31, 2011 1:34 PM >Subject: Re: backporting HBASE-4552 to 0.90 > >> Basically if we use the approach in HBASE-4552, rolling restart >>wouldn't work. > >-1 to an approach that has this outcome. > >IMO, rolling restart must always be possible on a minor version upgrade. > >Best regards, > > > - Andy > > >Problems worthy of attack prove their worth by hitting back. - Piet Hein (via >Tom White) > > >>________________________________ >>From: Ted Yu <[email protected]> >>To: [email protected]; [email protected] >>Sent: Monday, October 31, 2011 12:57 PM >>Subject: backporting HBASE-4552 to 0.90 >> >>Hi, >>HBASE-4552 has been integrated to 0.92 and TRUNK. >> >>From Jonathan: >> >>I was leaning towards either >>1) deprecating and keeping the old methods in it in (keeping old rpc >>version) >>2) having a patch available but in not including in an official 0.90 since >>it breaks compatibility >> >>Basically if we use the approach in HBASE-4552, rolling restart wouldn't >>work. >> >>I want to get your opinion on how it should be backported to 0.90 >> >>Thanks >> >> >> > >
