On Wed, Oct 26, 2011 at 2:34 PM, Sage Weil <sage@xxxxxxxxxxxx> wrote: > [adding ceph-devel CC] > > On Wed, 26 Oct 2011, Noah Watkins wrote: >> ----- Original Message ----- >> > From: "Sage Weil" <sage@xxxxxxxxxxxx> >> > >> > > >> > > 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html