You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by Kirill Shabunov <e2...@yahoo.com> on 2009/02/20 19:40:31 UTC
Secondary Indexes problem.
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
Re: Secondary Indexes problem.
Posted by stack <st...@duboce.net>.
Open an issue in apache JIRA. Here's a link:
https://issues.apache.org/jira/secure/CreateIssue!default.jspa. Be sure to
select 'hadoop hbase' as the project. You may have to make yourself an
account if you want to submit a patch. Let us know if you can't figure it.
Thanks,
St.Ack
On Sat, Feb 21, 2009 at 1:42 PM, Kirill Shabunov <e2...@yahoo.com> wrote:
> Thanks for the answer!
>
> Yes, I tried to remove hbase.regionserver.class property or set it to
> TransactionalInterface -- the cluster starts in both cases. But my program
> that tries to create a table with an index does not work. :)
>
> I'll be able to get back to this on Tuesday. I am going to try this fix and
> see what happens. If I succeed what is the patch submission procedure?
>
> --Kirill
>
> Clint Morgan wrote:
>
>> 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 <e2...@yahoo.com>
>> 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
>>>
>>>
>>
Re: Secondary Indexes problem.
Posted by Kirill Shabunov <e2...@yahoo.com>.
Thanks for the answer!
Yes, I tried to remove hbase.regionserver.class property or set it to
TransactionalInterface -- the cluster starts in both cases. But my
program that tries to create a table with an index does not work. :)
I'll be able to get back to this on Tuesday. I am going to try this fix
and see what happens. If I succeed what is the patch submission procedure?
--Kirill
Clint Morgan wrote:
> 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 <e2...@yahoo.com> 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
>>
>
Re: Secondary Indexes problem.
Posted by Clint Morgan <cl...@troove.net>.
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 <e2...@yahoo.com> 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
>