Yes, that looks like the right way to fix it. Quick fix to make it work now, I bet you can just remove that hbase.regionserver.class property (or set it to the TransactionalInterface).
I see now thats what I had been doing in my deployment. Care to submit a patch with the real fix? -clint On Fri, Feb 20, 2009 at 10:40 AM, Kirill Shabunov <[email protected]> wrote: > 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 >
