On Wed, Oct 26, 2011 at 2:34 PM, Sage Weil <[email protected]> wrote:
> [adding ceph-devel CC]
>
> On Wed, 26 Oct 2011, Noah Watkins wrote:
>> ----- Original Message -----
>> > From: "Sage Weil" <[email protected]>
>> >
>> > >
>> > > There was some packaging/cleanup work mentioned a while back on the
>> > > mailing list. Is anyone working on this?
>> >
>> > Nope.
>> >
>> > I'm not really sure what the "right' way to build/expose/package java
>> > bindings is.. but presumably it's less annoying than what we have now
>> > :)
>>
>> I'm revisiting this now to prepare packages and instructions for the
>> students running benchmarks this quarter, but I wanted to get your
>> input on future goals to not waste too much effort doing short-term
>> stuff. The possible approaches I see:
>>
>> 1) Everything (JNI wrappers + Java) lives in the Ceph tree and build
>> instructions include applying a patch to Hadoop.
>>
>> The current solution, and isn't too bad but needs documentation. This
>> approach can be simplified to avoid patching Hadoop by integrating
>> Ceph-specific Java code using the CLASSPATH global variable.
>>
>> 2) Everything is sent to Hadoop upstream.
>>
>> This is convenient because the Hadoop infrastructure already has
>> the facilities for building and linking native code into Hadoop,
>> and the only depenendency then becomes a standard ceph-devel
>> installation.
>>
>> This was the approach taken with the kernel client version which
>> also included JNI code (for ioctl).
>>
>> 3) Only JNI wrappers live in the Ceph tree and push Java patch upstream.
>>
>> This could be better if it is anticipated that libceph will see a lot
>> of churn in the future, and we'd avoid pushing more changes upstream.
>
> #3 strikes me as the right approach, since there are potentially other
> Java users of libcephfs, and the Hadoop CephFileSystem class will be best
> maintained (and most usable) if it upstream. There will just be the
> initial pain of getting the packaging right for libcephfs so that it will
> work w/ hadoop out of the box. (I'm assuming that is possible.. e.g.
> apt-get install ceph, fire up hadoop with the proper config?)
>
> sage
So I'd agree that #3 should be our eventual goal, but if we want
proper Java libceph/librados bindings (and to use these in Hadoop)
there's a lot of work that needs to be done before we try and push the
Java code upstream. The current library is *not* generic and contains
a lot of Hadoop-specific application logic that will need to be pushed
back out to Java.
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html