Hi!
I am trying to use the new secondary indexing feature (HBASE-883) on
Hadoop/HBase 0.19.0. The org.apache.hadoop.hbase.client.tableindexed
package description instructs to do the following:
"To enable the indexing, modify hbase-site.xml to turn on the
IndexedRegionServer. This is done by setting hbase.regionserver.class to
org.apache.hadoop.hbase.ipc.IndexedRegionInterface and
hbase.regionserver.impl to
org.apache.hadoop.hbase.regionserver.tableindexed.IndexedRegionServer"
I fixed my hbase-site.xml accordingly. Now HBase does not start. This is
what I get in the logs (same thing in both master and region):
2009-02-20 21:13:16,511 INFO org.apache.hadoop.ipc.HBaseServer: IPC
Server handler 6 on 60020, call
getProtocolVersion(org.apache.hadoop.hbase.ipc.IndexedRegionInterface,
15) from 213.221.54.5:48893: error: java.io.IOException: Unknown
protocol to name node: org.apache.hadoop.hbase.ipc.IndexedRegionInterface
java.io.IOException: Unknown protocol to name node:
org.apache.hadoop.hbase.ipc.IndexedRegionInterface
at
org.apache.hadoop.hbase.regionserver.HRegionServer.getProtocolVersion(HRegionServer.java:2140)
at
org.apache.hadoop.hbase.regionserver.transactional.TransactionalRegionServer.getProtocolVersion(TransactionalRegionServer.java:92)
at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:632)
at
org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:895)
I checked the code. My first guess is IndexedRegionServer should override
public long getProtocolVersion(final String protocol, final long
clientVersion)
similar to TransactionalRegionServer.
Did anybody see this problem? What do you think?
Thanks a lot in advance,
Kirill