Hey,

I created branch 4.0.0 from master branch for Phoenix on HBase0.98. The
code can work on tip of HBase0.98 & trunk branch but not HBase0.96(only
need trivial changes to make it work though) because some "private" Hbase
interface changes from release to release. We need a good way to remove
all private interface dependencies or convince Hbase folks to make those
interface backward compatible.

We thought about to use a shim layer to load either Hbase0.94 or Hbase0.98
dependencies upon different hbase deployment so that we can put this code
in master branch. The difficulty is that Phoenix isn't a normal Hbase
application. It extensively uses Hbase internals: Coprocessors, WAL,
Filters, KeyValue etc which have most incompatible changes between 0.94 &
0.96+. In addition, if more & more people are moving to the modern Hbase
code, it's not worth to put significant effort to create such a shim layer.

So far all unit tests are passed in 4.0.0 branch. I'll do one more merge
to get checkins between 2/8 and today. Moving forward please merge your
changes to 4.0.0 in order for it to be used in hbase96+(the bright
future). During merge, please don't use deprecated APIs because those APIs
mostly internally create a new copy(e.g. Mutation#getFamilyMap) and cause
unexpected behaviors if you're thinking to change internal state of an
object.

Thanks,
-Jeffrey



-- 
CONFIDENTIALITY NOTICE
NOTICE: This message is intended for the use of the individual or entity to 
which it is addressed and may contain information that is confidential, 
privileged and exempt from disclosure under applicable law. If the reader 
of this message is not the intended recipient, you are hereby notified that 
any printing, copying, dissemination, distribution, disclosure or 
forwarding of this communication is strictly prohibited. If you have 
received this communication in error, please contact the sender immediately 
and delete it from your system. Thank You.

Reply via email to