You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@phoenix.apache.org by Dhaval Rami <dh...@gmail.com> on 2015/03/02 21:47:00 UTC

Getting NPE while creating secondary local index

hbase version 0.98.6-cdh5.3.0 ,with phoenix 4.2.2.

I am getting following exception when I try to create a secondary local
index on a  "salted"  "mutable" table. The table already has 764576 records.

Error: org.apache.phoenix.exception.PhoenixIOException:
org.apache.hadoop.hbase.DoNotRetryIOException:
TAB,,1424454700147.982e66e27ae45130bf4a50c7c49bf516.: null
        at
org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:84)
        at
org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:52)
        at
org.apache.phoenix.coprocessor.BaseScannerRegionObserver.postScannerOpen(BaseScannerRegionObserver.java:162)
        at
org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$52.call(RegionCoprocessorHost.java:1203)
        at
org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$RegionOperation.call(RegionCoprocessorHost.java:1517)
        at
org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.execOperation(RegionCoprocessorHost.java:1592)
        at
org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.execOperationWithResult(RegionCoprocessorHost.java:1556)
        at
org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.postScannerOpen(RegionCoprocessorHost.java:1198)
        at
org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3178)
        at
org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:29925)
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2031)
        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:108)
        at
org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:116)
        at
org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:96)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
        at
org.apache.phoenix.coprocessor.UngroupedAggregateRegionObserver.commitBatch(UngroupedAggregateRegionObserver.java:135)
        at
org.apache.phoenix.coprocessor.UngroupedAggregateRegionObserver.doPostScannerOpen(UngroupedAggregateRegionObserver.java:366)
        at
org.apache.phoenix.coprocessor.BaseScannerRegionObserver.postScannerOpen(BaseScannerRegionObserver.java:144)
        ... 12 more (state=08000,code=101)


Command I am using :
CREATE LOCAL INDEX AK_LOC_TAB ON TAB (served_column);


Am I doing something wrong ?

-Dhaval

Re: Getting NPE while creating secondary local index

Posted by Dhaval Rami <dh...@gmail.com>.
Sorry my bad, I did not read about configuring Hmaster for region
collocation.

Thanks Rajeshbabu for pointing me to the config. the NPE is gone now.



On Tue, Mar 3, 2015 at 7:51 AM, Rajeshbabu Chintaguntla <
chrajeshbabu32@gmail.com> wrote:

> Hi Dhaval Rami,
>
> There can be possible NPE when both data and index regions not colocated.
>
> Have you configured below properties properly and restarted the master?
> It's fixed in 4.3 version. If possible you can use it.
>
>
> <property>
>   <name>hbase.master.loadbalancer.class</name>
>   <value>org.apache.phoenix.hbase.index.balancer.IndexLoadBalancer</value>
> </property>
> <property>
>   <name>hbase.coprocessor.master.classes</name>
>   <value>org.apache.phoenix.hbase.index.master.IndexMasterObserver</value>
> </property>
>
> Thanks,
> Rajeshbabu.
>
> On Tue, Mar 3, 2015 at 2:17 AM, Dhaval Rami <dh...@gmail.com> wrote:
>
>> hbase version 0.98.6-cdh5.3.0 ,with phoenix 4.2.2.
>>
>> I am getting following exception when I try to create a secondary local
>> index on a  "salted"  "mutable" table. The table already has 764576 records.
>>
>> Error: org.apache.phoenix.exception.PhoenixIOException:
>> org.apache.hadoop.hbase.DoNotRetryIOException:
>> TAB,,1424454700147.982e66e27ae45130bf4a50c7c49bf516.: null
>>         at
>> org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:84)
>>         at
>> org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:52)
>>         at
>> org.apache.phoenix.coprocessor.BaseScannerRegionObserver.postScannerOpen(BaseScannerRegionObserver.java:162)
>>         at
>> org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$52.call(RegionCoprocessorHost.java:1203)
>>         at
>> org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$RegionOperation.call(RegionCoprocessorHost.java:1517)
>>         at
>> org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.execOperation(RegionCoprocessorHost.java:1592)
>>         at
>> org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.execOperationWithResult(RegionCoprocessorHost.java:1556)
>>         at
>> org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.postScannerOpen(RegionCoprocessorHost.java:1198)
>>         at
>> org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3178)
>>         at
>> org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:29925)
>>         at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2031)
>>         at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:108)
>>         at
>> org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:116)
>>         at
>> org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:96)
>>         at java.lang.Thread.run(Thread.java:745)
>> Caused by: java.lang.NullPointerException
>>         at
>> org.apache.phoenix.coprocessor.UngroupedAggregateRegionObserver.commitBatch(UngroupedAggregateRegionObserver.java:135)
>>         at
>> org.apache.phoenix.coprocessor.UngroupedAggregateRegionObserver.doPostScannerOpen(UngroupedAggregateRegionObserver.java:366)
>>         at
>> org.apache.phoenix.coprocessor.BaseScannerRegionObserver.postScannerOpen(BaseScannerRegionObserver.java:144)
>>         ... 12 more (state=08000,code=101)
>>
>>
>> Command I am using :
>> CREATE LOCAL INDEX AK_LOC_TAB ON TAB (served_column);
>>
>>
>> Am I doing something wrong ?
>>
>> -Dhaval
>>
>
>

Re: Getting NPE while creating secondary local index

Posted by Rajeshbabu Chintaguntla <ch...@gmail.com>.
Hi Dhaval Rami,

There can be possible NPE when both data and index regions not colocated.

Have you configured below properties properly and restarted the master?
It's fixed in 4.3 version. If possible you can use it.


<property>
  <name>hbase.master.loadbalancer.class</name>
  <value>org.apache.phoenix.hbase.index.balancer.IndexLoadBalancer</value>
</property>
<property>
  <name>hbase.coprocessor.master.classes</name>
  <value>org.apache.phoenix.hbase.index.master.IndexMasterObserver</value>
</property>

Thanks,
Rajeshbabu.
On Tue, Mar 3, 2015 at 2:17 AM, Dhaval Rami <dh...@gmail.com> wrote:

> hbase version 0.98.6-cdh5.3.0 ,with phoenix 4.2.2.
>
> I am getting following exception when I try to create a secondary local
> index on a  "salted"  "mutable" table. The table already has 764576 records.
>
> Error: org.apache.phoenix.exception.PhoenixIOException:
> org.apache.hadoop.hbase.DoNotRetryIOException:
> TAB,,1424454700147.982e66e27ae45130bf4a50c7c49bf516.: null
>         at
> org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:84)
>         at
> org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:52)
>         at
> org.apache.phoenix.coprocessor.BaseScannerRegionObserver.postScannerOpen(BaseScannerRegionObserver.java:162)
>         at
> org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$52.call(RegionCoprocessorHost.java:1203)
>         at
> org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost$RegionOperation.call(RegionCoprocessorHost.java:1517)
>         at
> org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.execOperation(RegionCoprocessorHost.java:1592)
>         at
> org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.execOperationWithResult(RegionCoprocessorHost.java:1556)
>         at
> org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.postScannerOpen(RegionCoprocessorHost.java:1198)
>         at
> org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3178)
>         at
> org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:29925)
>         at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2031)
>         at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:108)
>         at
> org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:116)
>         at
> org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:96)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.NullPointerException
>         at
> org.apache.phoenix.coprocessor.UngroupedAggregateRegionObserver.commitBatch(UngroupedAggregateRegionObserver.java:135)
>         at
> org.apache.phoenix.coprocessor.UngroupedAggregateRegionObserver.doPostScannerOpen(UngroupedAggregateRegionObserver.java:366)
>         at
> org.apache.phoenix.coprocessor.BaseScannerRegionObserver.postScannerOpen(BaseScannerRegionObserver.java:144)
>         ... 12 more (state=08000,code=101)
>
>
> Command I am using :
> CREATE LOCAL INDEX AK_LOC_TAB ON TAB (served_column);
>
>
> Am I doing something wrong ?
>
> -Dhaval
>