accumulo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher <>
Subject Re: thrift versions in accumulo
Date Wed, 19 Aug 2015 19:50:45 GMT
Well, Thrift serves two purposes for us. It manages the RPC API and
handles the data serialization for the RPC.

Long term, I'd like to look at Netty for handling the API (because it
seems stable, widely used, and feature-rich). I'm not particularly
concerned about the serialization, as long as the library is stable.
Avro makes as much sense to me as any other, but I haven't actually
used it yet, so I'll reserve judgment.

Even if we move away from Thrift in the long-term for the
client/server and server/server RPCs, we'll probably not get rid of it
entirely. It's still pretty useful for the accumulo-proxy. However,
since that's a small, optional add-on, it'd be pretty easy to isolate
thrift to just be a dependency of that... and presumably it'd be easy
to rebuild that add-on component for different thrift versions or to
support multiple versions.

Christopher L Tubbs II

On Wed, Aug 19, 2015 at 3:41 PM, Max Thomas <> wrote:
> I'm not opposed to the idea...
> What about the long term future (e.g., Christopher's comment) for Thrift?
> Are there particularly attractive alternatives (Avro) that you have in mind
> for the project? Asking both as a interested user and general technologist.
> On 8/19/15 3:20 PM, Christopher wrote:
>> +1 to that.
>> --
>> Christopher L Tubbs II
>> On Wed, Aug 19, 2015 at 3:14 PM, Josh Elser <> wrote:
>>> I guess it's also worth being explicit: if you have the cycles to work on
>>> this, we can help give direction on trying to switch 1.8.0 to 0.9.2, Max.
>>> "Necessary work" doesn't imply that it has to be a committer. Likely
>>> vetted
>>> by one of us in the end, but you can definitely help push this along if
>>> you
>>> have the time/cycles.
>>> Christopher wrote:
>>>> ACCUMULO-756 has been put on the back-burner for now (at least from
>>>> me). I'd love to revisit it, but unfortunately, I've had other
>>>> priorities.
>>>> As for 0.9.2, I've had a lot of concerns over our continued use of
>>>> Thrift. It has had serious regressions, and behavior changes in "bug
>>>> fixes" that have not been expected. I'd be in favor of switching to
>>>> 0.9.2 for Accumulo 1.8.0, if we can be reasonably assured it's not
>>>> going to wreak havoc on us like 0.9.0->0.9.1 did. That means time and
>>>> testing. I think we can go ahead and make a ticket for it (if it's not
>>>> done already), and if somebody has time to do it for 1.8.0, great. If
>>>> it turns out to be more trouble than it's worth, or if it causes
>>>> unnecessary problems, we can postpone or roll back.
>>>> For 1.7.x, we'll likely stay with 0.9.1, unless our experience working
>>>> with 0.9.2 on 1.8.0 leads us to believe that it'd be a safe
>>>> transition. It'd have to be *very* low risk, I imagine... but we'd
>>>> probably need to discuss further once we have more information.
>>>> --
>>>> Christopher L Tubbs II
>>>> On Wed, Aug 19, 2015 at 1:56 PM, Josh Elser<>
>>>> wrote:
>>>>> We talked about updating 1.8.0 to 0.9.2. 1.7 would very likely not be
>>>>> updated to 0.9.2 due to worry of stability from Thrift (this has been
>>>>> real
>>>>> problem in the past).
>>>>> Thrift itself needs consistent libraries on both sides of the wire. An
>>>>> 0.9.1
>>>>> client doesn't work with an 0.9.2 server. Thrift's compatibility gives
>>>>> us
>>>>> the ability to run Accumulo 1.6 clients against Accumulo 1.7 servers
>>>>> (hypothetically).
>>>>> Hopefully, you could bump the version, recompile the Thrift code in 1.7
>>>>> and
>>>>> it would work if you want to experiment. YMMV
>>>>> Max Thomas wrote:
>>>>>> The latest major thrift release is 0.9.2; Accumulo 1.7 (and the
>>>>>> current
>>>>>> master branch on Github) depends on 0.9.1. 0.9.2 fixes a number of
>>>>>> issues that are desirable to have, such as functions in Python for
>>>>>> hash
>>>>>> codes.
>>>>>> An initial test with a Java project depending on thrift 0.9.2 and
>>>>>> accumulo results in an exception when the Accumulo server starts,
>>>>>> presumably due to conflicting classes.
>>>>>> I have a few questions:
>>>>>> 1) Are there creative Maven things to get Accumulo and thrift 0.9.2
>>>>>> place nicely together without building Accumulo from scratch?
>>>>>> 2) Is there a plan in place to upgrade the thrift dependency for
>>>>>> or the 1.7.x line? (Perhaps short term; see below)
>>>>>> 3) I see this issue on JIRA:
>>>>>> Is work still active on this issue?

View raw message