You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Ken Weiner (JIRA)" <ji...@apache.org> on 2009/04/01 03:39:50 UTC

[jira] Created: (HBASE-1303) Secondary index

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.


[jira] Updated: (HBASE-1303) Secondary index

Posted by "Ken Weiner (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-1303?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ken Weiner updated HBASE-1303:
------------------------------

    Status: Patch Available  (was: Open)

Index: src/java/org/apache/hadoop/hbase/regionserver/tableindexed/IndexedRegionServer.java
===================================================================
--- src/java/org/apache/hadoop/hbase/regionserver/tableindexed/IndexedRegionServer.java	(revision 760746)
+++ src/java/org/apache/hadoop/hbase/regionserver/tableindexed/IndexedRegionServer.java	(working copy)
@@ -25,6 +25,7 @@
 import org.apache.hadoop.hbase.HRegionInfo;
 import org.apache.hadoop.hbase.HServerAddress;
 import org.apache.hadoop.hbase.HTableDescriptor;
+import org.apache.hadoop.hbase.ipc.HBaseRPCProtocolVersion;
 import org.apache.hadoop.hbase.ipc.IndexedRegionInterface;
 import org.apache.hadoop.hbase.regionserver.HRegion;
 import org.apache.hadoop.hbase.regionserver.transactional.TransactionalRegionServer;
@@ -48,6 +49,15 @@
   }
 
   @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);
+  }
+
+  @Override
   protected HRegion instantiateRegion(final HRegionInfo regionInfo)
       throws IOException {
     HRegion r = new IndexedRegion(HTableDescriptor.getTableDir(super


> 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.


[jira] Updated: (HBASE-1303) Secondary index configuration prevents HBase from starting

Posted by "Ken Weiner (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-1303?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ken Weiner updated HBASE-1303:
------------------------------

    Attachment: HBASE-1303_0.19.1.patch

Please review my attached patch.

> 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
>         Attachments: HBASE-1303_0.19.1.patch
>
>
> 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.


[jira] Commented: (HBASE-1303) Secondary index configuration prevents HBase from starting

Posted by "Nitay Joffe (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-1303?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12694358#action_12694358 ] 

Nitay Joffe commented on HBASE-1303:
------------------------------------

+1 looks right to me Ken. 

Please upload a patch with your fix instead of adding a comment with it. See http://wiki.apache.org/hadoop/Hbase/HowToContribute for more information.

> 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.


[jira] Updated: (HBASE-1303) Secondary index configuration prevents HBase from starting

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-1303?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HBASE-1303:
-------------------------

       Resolution: Fixed
    Fix Version/s: 0.20.0
                   0.19.2
           Status: Resolved  (was: Patch Available)

Committed branch and trunk.  Thanks for the patch Ken.

> 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
>             Fix For: 0.19.2, 0.20.0
>
>         Attachments: HBASE-1303_0.19.1.patch
>
>
> 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.


[jira] Updated: (HBASE-1303) Secondary index configuration prevents HBase from starting

Posted by "Ken Weiner (JIRA)" <ji...@apache.org>.
     [ 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.