accumulo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Corey Nolet <>
Subject Re: Accumulo and OSGi
Date Wed, 09 Apr 2014 13:46:12 GMT

As Josh pointed out, you should only need the Hadoop libraries on the
client side to use the Text object. This means you won't have to go through
the pain of placing the xml files in your root bundles.

Did you try the JAAS export from the packages in your container? Did that

I agree with your comment that we *should* be able to look at these bundles
as black boxes but we're not dealing with true bundles, yet. Once I got my
Hadoop client bundle ready to go, I haven't had to touch it (and the Hadoop
Karaf project solved most of the import/export guessing work for me
already).  For Accumulo, on the other hand, it's up to you if you want to
create an uber-bundle with the necessary Accumulo packages or just wrap
each one and provide the necessary imports/exports across them. For my
needs, I just created one uber-bundle for Accumulo packages and imported
the necessary non-Accumulo packages (many of those I had to wrap as well).
I didn't find that part too painful on the Accumulo side. While not being
the ideal situation from the OSGI side, with lack of an existing bundle
artifact, it did solve my problem and I'm actively using both Accumulo and
Hadoop in OSGi. My recommendation would be that until we get a proper
bundle, that solution would certainly work in the short-term.

I believe Josh posted this already but check out [1]. A ready-to-go OSGi
bundle for Accumulo would be useful but the Hadoop client dependency would
need to be wrapped (or exposed as its own bundle). IMO, with proper
documentation this shouldn't be too painful for users. Thoughts?


On Mon, Apr 7, 2014 at 11:27 AM, Geoffry Roberts <>wrote:

> Ahh,  let me try and address where I might have gone off the linguistic
> reservation.
> bndtools -- is an eclipse plugin that is very helpful when developing OSGi
> bundles.  It does a lot of grimy, boilerplate things for you.
> inlining -- is where one places dependent *.jar files inside the OSGi
> bundle and therefore on said bundle's class path.  It tends to promote
> bloated bundles--not in the spirit of OSGi--but sometimes necessary.
> componentizing -- is the business of converting a class into a component.
>  In the bndtools way of doing things, this can be a easy as annotating a
> class with @Component.
> bundle -- You probably know what this is already, but I'll include it for
> good measure.  A bundle is a body of code that is on the same class path,
> and often acts as a service to there bundles.
> I don't know what could be done upstream other that making Accumulo's
> client OAGI ready.  Would we like to do that?
> On Mon, Apr 7, 2014 at 11:02 AM, Josh Elser <> wrote:
>> You just used a lot of words that don't mean anything to me :)
>> Hopefully you don't have to do much on your own. If there are things we
>> can change upstream to make this process easier, please feel free to let us
>> know.
>> On 4/7/14, 10:55 AM, Geoffry Roberts wrote:
>>> Thanks Josh,
>>> My container for the moment is equinox, but all should work in Felix as
>>> well.  I've been using bndtools for my other OSGi work so I'm faced with
>>> either annotating the Accumulo Code or wrapping it somehow.  What do you
>>> want to bet I wind up inlining it?  Still, the annotated (read
>>> componentized) approach would be less kloogy.  I hesitate because I'd
>>> wind up maintaining my own code line.
>>> On Mon, Apr 7, 2014 at 10:28 AM, Josh Elser <
>>> <>> wrote:
>>>     On 4/7/14, 10:07 AM, Geoffry Roberts wrote:
>>>         My original question remains: Is the Accumulo Client dependent
>>>         on the
>>>         Hadoop Client fully?  This determination can be made through
>>>         trial and
>>>         error.  But I'm looking to leverage OPE (other people's
>>>         experience) if
>>>         it exists.
>>>     I thought someone had already said this (but I may be confusing
>>>     threads): the Accumulo API uses Text throughout. Hadoop is a
>>>     required dependency.
>>>         In the same spirit, does anyone know if all the following are
>>>         required
>>>         to run an Accumulo Client? core, fate, start, trace?  If I
>>>         attempt to
>>>         OSGify, I'm trying to figure how much trouble am I getting into.
>>>     Yes, that should be about it from within Accumulo. You might need
>>>     some other foss dependencies also available, but I'm not aware on
>>>     what your "container" (or w/e the proper terminology would be)
>>> provides.
>>> --
>>> There are ways and there are ways,
>>> Geoffry Roberts
> --
> There are ways and there are ways,
> Geoffry Roberts

View raw message