Problem is solved by upgrading to phoenix 3.0, sorry for spamming.


2014-05-08 0:10 GMT-07:00 yixuan geng <>:
Hi all,

I was using the a third-party node-hbase-client library to write data into hbase from node.js

It works fine if I am writing to a regular hbase table, but if it is a table created by phoenix or has phoenix view on top of it, the write operations failed.

I noticed the exception is thrown from org.apache.hadoop.hbase.regionserver.wal.WALEdit.write(). I vaguely recall that Phoneix does something special at the WAL level (sorry about my poor knowledge about hbase impl).

I guess my question is why such a write that works on regular hbase table cannot work with phonenix tables.  I know this is a hard to debug because few people actually use node-hbase-client. But if you do play with it, you can very quickly reproduce this exception with a few lines of js code:

var HBase = require('hbase-client');

var client = HBase.create({ zookeeperHosts: [ 'master-dev:2181'], zookeeperRoot: '/hbase', });

client.putRow('test_table', 'rowkey2', { "testColumn:appid': 'foo_name'}, function (err) { console.log(err); });


StackTrace: java.lang.NullPointerException

at org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogWriter.append(

at org.apache.hadoop.hbase.regionserver.wal.HLog$LogSyncer.hlogFlush(

at org.apache.hadoop.hbase.regionserver.wal.HLog.syncer(

at org.apache.hadoop.hbase.regionserver.wal.HLog.sync(

at org.apache.hadoop.hbase.regionserver.wal.HLog.append(

at org.apache.hadoop.hbase.regionserver.wal.HLog.append(

at org.apache.hadoop.hbase.regionserver.HRegion.internalPut(

at org.apache.hadoop.hbase.regionserver.HRegion.put(

at org.apache.hadoop.hbase.regionserver.HRegionServer.put(

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(

t sun.reflect.DelegatingMethodAccessorImpl.invoke(

at java.lang.reflect.Method.invoke(

at org.apache.hadoop.hbase.ipc.WritableRpcEngine$

at org.apache.hadoop.hbase.ipc.HBaseServer$

Caused by: java.lang.NullPointerException



at org.apache.hadoop.hbase.KeyValue.write(

at org.apache.hadoop.hbase.codec.KeyValueCodec$KeyValueEncoder.write(

at org.apache.hadoop.hbase.regionserver.wal.WALEdit.write(





at org.apache.hadoop.hbase.regionserver.wal.SequenceFileLogWriter.append(