hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ken Weiner (JIRA)" <j...@apache.org>
Subject [jira] Created: (HBASE-1303) Secondary index
Date Wed, 01 Apr 2009 01:39:50 GMT
Secondary index 
----------------

                 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.


Mime
View raw message