[
https://issues.apache.org/jira/browse/HBASE-1303?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ken Weiner updated HBASE-1303:
------------------------------
Summary: Secondary index configuration prevents HBase from starting (was:
Secondary index )
> Secondary index configuration prevents HBase from starting
> ----------------------------------------------------------
>
> Key: HBASE-1303
> URL: https://issues.apache.org/jira/browse/HBASE-1303
> Project: Hadoop HBase
> Issue Type: Bug
> Components: regionserver
> Affects Versions: 0.19.1
> Reporter: Ken Weiner
>
> HBase does not start up when configured to use the IndexedRegionServer with
> the following properties in hbase-site.xml
> {code:xml}
> <property>
> <name>hbase.regionserver.class</name>
> <value>org.apache.hadoop.hbase.ipc.IndexedRegionInterface</value>
> <description>Indexing is enabled for this hbase server. </description>
> </property>
> <property>
> <name>hbase.regionserver.impl</name>
>
> <value>org.apache.hadoop.hbase.regionserver.tableindexed.IndexedRegionServer</value>
> <description>Indexing is enabled for this hbase server.</description>
> </property>
> {code}
> This results in the following exception in the log:
> {noformat}
> 2009-03-31 12:33:35,993 INFO org.apache.hadoop.ipc.HBaseServer: IPC Server
> handler 8 on 45026, call
> getProtocolVersion(org.apache.hadoop.hbase.ipc.IndexedRegionInterface, 16)
> from 127.0.0.1:60854: 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:2146)
> at
> org.apache.hadoop.hbase.regionserver.transactional.TransactionalRegionServer.getProtocolVersion(TransactionalRegionServer.java:92)
> at sun.reflect.GeneratedMethodAccessor5.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:912)
> 2009-03-31 12:33:35,994 WARN org.apache.hadoop.hbase.master.BaseScanner: Scan
> ROOT region
> java.io.IOException: java.io.IOException: Unknown protocol to name node:
> org.apache.hadoop.hbase.ipc.IndexedRegionInterface
> at
> org.apache.hadoop.hbase.regionserver.HRegionServer.getProtocolVersion(HRegionServer.java:2146)
> at
> org.apache.hadoop.hbase.regionserver.transactional.TransactionalRegionServer.getProtocolVersion(TransactionalRegionServer.java:92)
> at sun.reflect.GeneratedMethodAccessor5.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:912)
> {noformat}
> There is also a mailing list post on this problem:
> http://markmail.org/message/6pugle5uegiijjbc?q=Secondary+Indexes+problem
> I think the solution is to implement {{public long getProtocolVersion(final
> String protocol, final long clientVersion)}} in
> {{org.apache.hadoop.hbase.regionserver.tableindexed.IndexedRegionServer}} as
> follows:
> {code:java}
> @Override
> public long getProtocolVersion(final String protocol, final long
> clientVersion)
> throws IOException {
> if (protocol.equals(IndexedRegionInterface.class.getName())) {
> return HBaseRPCProtocolVersion.versionID;
> }
> return super.getProtocolVersion(protocol, clientVersion);
> }
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.