[ 
https://issues.apache.org/jira/browse/HBASE-2170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13008737#comment-13008737
 ] 

Benoit Sigoure commented on HBASE-2170:
---------------------------------------

bq. @Lars I don't think we'll be bringing asynchbase into core (BenoƮt won't 
let us! Ahead of his refusal, he makes a good argument that it makes no sense 
bringing it in)

Yeah, I don't think asynchbase will ever be part of core.
* asynchbase is .. well.. async.  Most programmers don't feel comfortable with 
this programming paradigm.  Plus Java has extremely poor support for 
asynchronous programming (because the syntax required to write callbacks is 
extremely verbose and pollutes the code and because the standard libraries 
don't play nicely with asynchronous programming).  I still think parallel 
asynchronous programming is the best option for truly scalable application 
servers, but I can also understand that average programmers need simple APIs 
that use paradigms they're used to.
* Having said that, an async interface can easily be turned into a sync 
interface (the opposite isn't true), but I have no interest in maintaining a 
sync interface that wraps the asynchbase interface. 
* asynchbase uses a license that is in "Category X" (excluded) for Apache 
projects (LGPLv3+).  I have no interest in debating politics / licenses in this 
thread.  I just want to precise that contrary to a popular belief, LGPLv3+ 
isn't incompatible with the Apache license (version 2), it's just not allowed 
by the Apache Software Foundation in Apache projects.  A lot of people believe 
there is an incompatibility due to popular misinformation.
* I personally do not wish to work with SVN and JIRA.  Even with {{git-svn}}.  
I'm currently more than happy to maintain [asynchbase on 
GitHub|https://github.com/stumbleupon/asynchbase].

I hope you understand.

Having said that, I think asynchbase contains a sane implementation and I'd be 
happy to answer any question you might have about it.  It contains [detailed 
documentation of the HBase RPC 
protocol|https://github.com/stumbleupon/asynchbase/blob/master/src/HBaseRpc.java]
 and [greatly outperforms the traditional HBase 
client|http://mail-archives.apache.org/mod_mbox/hbase-user/201102.mbox/%[email protected]%3E].
  After switching [OpenTSDB|http://opentsdb.net/] to it, I was able to push up 
to an order of magnitude more write throughput to HBase.  When doing a batch 
import where the data source is single threaded, I can push up to 200k 
{{KeyValue}} per second to HBase (without WAL) on a 4 year old CPU.

> hbase lightweight client library as a distribution 
> ---------------------------------------------------
>
>                 Key: HBASE-2170
>                 URL: https://issues.apache.org/jira/browse/HBASE-2170
>             Project: HBase
>          Issue Type: Wish
>            Reporter: Kay Kay
>         Attachments: jdepend-report.html
>
>
> As a wish - it would be nice to have a hbase client library (subset of the 
> current hbase distribution) that needs to be present at the hbase client 
> level to interact with the master/region servers. 
> From an app integration - users of hbase can just link against the client 
> library as opposed to getting the entire library to link against. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to