hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From yonghu <yongyong...@gmail.com>
Subject Re: How to create HTableInterface in coprocessor?
Date Tue, 22 Oct 2013 18:22:33 GMT
Ted,

This is the stack trace that I got:

ERROR: org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException:
Failed 1 action: org.apache.hadoop.hbase.DoNotRetryIOException:
Coprocessor:
'org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$RegionEnvironment@9a99eb'
threw: 'java.lang.UnsupportedOperationException: Immutable Configuration'
and has been removedfrom the active coprocessor set.
    at
org.apache.hadoop.hbase.coprocessor.CoprocessorHost.handleCoprocessorThrowable(CoprocessorHost.java:740)
    at
org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.prePut(RegionCoprocessorHost.java:810)
    at
org.apache.hadoop.hbase.regionserver.HRegion.doPreMutationHook(HRegion.java:2196)
    at
org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:2172)
    at
org.apache.hadoop.hbase.regionserver.HRegionServer.multi(HRegionServer.java:3811)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at
org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:320)
    at
org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1426)
Caused by: java.lang.UnsupportedOperationException: Immutable Configuration
    at
org.apache.hadoop.hbase.regionserver.CompoundConfiguration.set(CompoundConfiguration.java:484)
    at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.ensureZookeeperTrackers(HConnectionManager.java:721)
    at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:986)
    at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:961)
    at org.apache.hadoop.hbase.client.HTable.finishSetup(HTable.java:251)
    at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:243)
    at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getTable(HConnectionManager.java:671)
    at
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getTable(HConnectionManager.java:658)
    at
CDCTrigger.TriggerForModification.prePut(TriggerForModification.java:61)
    at
org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.prePut(RegionCoprocessorHost.java:808)
    ... 9 more
: 1 time, servers with issues: hans-laptop:60020,


On Tue, Oct 22, 2013 at 8:14 PM, yonghu <yongyong313@gmail.com> wrote:

> Ted,
>
> Can you tell me how to dump the stack trace of HBase? By the way, I check
> the log of RegionServer. It has following error messages:
>
> java.io.IOException: The connection has to be unmanaged.
>     at
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getTable(HConnectionManager.java:669)
>     at
> org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getTable(HConnectionManager.java:658)
>     at
> CDCTrigger.TriggerForModification.prePut(TriggerForModification.java:51)
>     at
> org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.prePut(RegionCoprocessorHost.java:808)
>     at
> org.apache.hadoop.hbase.regionserver.HRegion.doPreMutationHook(HRegion.java:2196)
>     at
> org.apache.hadoop.hbase.regionserver.HRegion.batchMutate(HRegion.java:2172)
>     at
> org.apache.hadoop.hbase.regionserver.HRegionServer.multi(HRegionServer.java:3811)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     at java.lang.reflect.Method.invoke(Method.java:597)
>     at
> org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:320)
>     at
> org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1426)
>
>
> On Tue, Oct 22, 2013 at 8:07 PM, Ted Yu <yuzhihong@gmail.com> wrote:
>
>> Yong:
>> Can you post full stack trace so that we can diagnose the problem ?
>>
>> Cheers
>>
>>
>> On Tue, Oct 22, 2013 at 11:01 AM, yonghu <yongyong313@gmail.com> wrote:
>>
>> > Gray,
>> >
>> > Finally, I saw the error messages. ERROR:
>> > org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException:
>> Failed
>> > 1 action: org.apache.hadoop.hbase.DoNotRetryIOException: Coprocessor:
>> >
>> >
>> 'org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$RegionEnvironment@303a60
>> > '
>> > threw: 'java.lang.UnsupportedOperationException: Immutable
>> Configuration'
>> > and has been removed from the active coprocessor set.
>> >
>> > I will try different approach as Ted mentioned.
>> >
>> >
>> > On Tue, Oct 22, 2013 at 7:49 PM, yonghu <yongyong313@gmail.com> wrote:
>> >
>> > > Gray
>> > >
>> > > Thanks for your response. I tried your approach. But it did not work.
>> The
>> > > HBase just stalled, no messages, nothing happened. By the way, my
>> hbase
>> > > version is 0.94.12.
>> > >
>> > >
>> > >
>> > > On Tue, Oct 22, 2013 at 7:34 PM, Gary Helmling <ghelmling@gmail.com
>> > >wrote:
>> > >
>> > >> Within a coprocessor, you can just use the CoprocessorEnvironment
>> > instance
>> > >> passed to start() method or any of the pre/post hooks, and call
>> > >> CoprocessorEnvironment.getTable(byte[] tablename).
>> > >>
>> > >>
>> > >> On Tue, Oct 22, 2013 at 9:41 AM, Ted Yu <yuzhihong@gmail.com>
wrote:
>> > >>
>> > >> > Take a look at
>> http://hbase.apache.org/book.html#client.connections ,
>> > >> > especially 9.3.1.1.
>> > >> >
>> > >> >
>> > >> > On Tue, Oct 22, 2013 at 9:37 AM, yonghu <yongyong313@gmail.com>
>> > wrote:
>> > >> >
>> > >> > > Hello,
>> > >> > >
>> > >> > > In the oldest verison of HBase , I can get the HTableInterface
by
>> > >> > > HTablePool.getTable() method. However, in the latest Hbase
>> > >> > version0.94.12,
>> > >> > > HTablePool is deprecated. So, I tried to use HConnectionManager
>> to
>> > >> create
>> > >> > > HTableInterface, but it does not work. Can anyone tell me
how to
>> > >> create
>> > >> > > HTableInterface in new HBase version? By the way, there is
no
>> error
>> > >> > message
>> > >> > > when I run coprocessor.
>> > >> > >
>> > >> > > regards!
>> > >> > >
>> > >> > > Yong
>> > >> > >
>> > >> >
>> > >>
>> > >
>> > >
>> >
>>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message