You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hbase.apache.org by raghavendhra rahul <ra...@gmail.com> on 2012/03/08 07:59:30 UTC

Coprocessor execution with bulk data

Hi,
           I am working with hbase 0.92 co-processor. While aggregate using
coprocesor in less amount of data its fine but for bulk data i m getting
the following exception.

2012-03-08 11:59:12,479 DEBUG org.apache.hadoop.hbase.regionserver.HRegion:
Received dynamic protocol exec call with protocolName
org.apache.hadoop.hbase.coprocessor.RowcountProtocol
2012-03-08 12:01:01,727 DEBUG
org.apache.hadoop.hbase.io.hfile.LruBlockCache: LRU Stats: total=18.03 MB,
free=229.89 MB, max=247.92 MB, blocks=136, accesses=10836299,
hits=10666060, hitRatio=98.42%, cachingAccesses=10666171,
cachingHits=10666035, cachingHitsRatio=99.99%, evictions=0, evicted=0,
evictedPerRun=NaN
2012-03-08 12:03:09,475 WARN org.apache.hadoop.ipc.HBaseServer: IPC Server
Responder, call execCoprocessor([B@50cb21, getProjection(), rpc version=1,
client version=0, methodsFingerPrint=0), rpc version=1, client version=29,
methodsFingerPrint=54742778 from 10.184.17.26:46472: output error
2012-03-08 12:03:09,476 WARN org.apache.hadoop.ipc.HBaseServer: IPC Server
handler 7 on 60020 caught: java.nio.channels.ClosedChannelException
    at
sun.nio.ch.SocketChannelImpl.ensureWriteOpen(SocketChannelImpl.java:144)
    at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:342)
    at
org.apache.hadoop.hbase.ipc.HBaseServer.channelWrite(HBaseServer.java:1653)
    at
org.apache.hadoop.hbase.ipc.HBaseServer$Responder.processResponse(HBaseServer.java:924)
    at
org.apache.hadoop.hbase.ipc.HBaseServer$Responder.doRespond(HBaseServer.java:1003)
    at
org.apache.hadoop.hbase.ipc.HBaseServer$Call.sendResponseIfReady(HBaseServer.java:409)
    at
org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1346)

Re: Coprocessor execution with bulk data

Posted by raghavendhra rahul <ra...@gmail.com>.
> Same exception or something different?

same exception only

Re: Coprocessor execution with bulk data

Posted by Stack <st...@duboce.net>.
On Thu, Mar 8, 2012 at 10:59 PM, raghavendhra rahul
<ra...@gmail.com> wrote:
>> You can increase the RPC timeout period to keep this from happening.
>>
>>  I already increased the RPC timeout period and and regionserver lease
> period too
>
> <property>
>  <name>hbase.rpc.timeout</name>
>  <value>30000000</value>
> </property>
>
> <property>
>    <name>hbase.regionserver.lease.period</name>
>    <value>30000000</value>
> </property>
>
> but  its not working


Same exception or something different?
St.Ack

Re: Coprocessor execution with bulk data

Posted by raghavendhra rahul <ra...@gmail.com>.
> You can increase the RPC timeout period to keep this from happening.
>
>  I already increased the RPC timeout period and and regionserver lease
period too

<property>
  <name>hbase.rpc.timeout</name>
  <value>30000000</value>
</property>

<property>
    <name>hbase.regionserver.lease.period</name>
    <value>30000000</value>
</property>

but  its not working

Re: Coprocessor execution with bulk data

Posted by Andrew Purtell <ap...@apache.org>.
I opened https://issues.apache.org/jira/browse/HBASE-5543

 
Best regards,


    - Andy


Problems worthy of attack prove their worth by hitting back. - Piet Hein (via Tom White)



----- Original Message -----
> From: lars hofhansl <lh...@yahoo.com>
> To: "user@hbase.apache.org" <us...@hbase.apache.org>; Andrew Purtell <ap...@apache.org>
> Cc: 
> Sent: Thursday, March 8, 2012 12:38 PM
> Subject: Re: Coprocessor execution with bulk data
> 
> +1 on "keepalive". It's a shame (especially for long running 
> server code) to do all the work,
> just to find out at the end that the client has given up.
> 
> Or maybe there should be a way to cancel an operation if the clients decides it 
> does not want to wait any longer (PostgreSQL does that for example).
> Here that would mean the server would need to check periodically and 
> coprocessors would need to be written to support that - so maybe that's 
> no-starter.
> 
> 
> async RPC would be great too. asynchbase is a good example of such an API.
> 
> 
> -- Lars
> 
> 
> 
> ________________________________
> From: Andrew Purtell <ap...@apache.org>
> To: "user@hbase.apache.org" <us...@hbase.apache.org> 
> Sent: Thursday, March 8, 2012 10:56 AM
> Subject: Re: Coprocessor execution with bulk data
> 
> You can increase the RPC timeout period to keep this from happening.
> 
> But maybe it makes sense to give our RPC a "keepalive" option for 
> calls that may run for a long time (like execCoprocessor)? 
> 
> 
> Or fold this into a broader rework into a proper async RPC model.
>  
> Best regards,
> 
> 
>     - Andy
> 
> Problems worthy of attack prove their worth by hitting back. - Piet Hein (via 
> Tom White)
> 
> 
> 
> ----- Original Message -----
>>  From: Stack <st...@duboce.net>
>>  To: user@hbase.apache.org
>>  Cc: 
>>  Sent: Thursday, March 8, 2012 9:14 AM
>>  Subject: Re: Coprocessor execution with bulk data
>> 
>>  On Wed, Mar 7, 2012 at 10:59 PM, raghavendhra rahul
>>  <ra...@gmail.com> wrote:
>>>   2012-03-08 12:03:09,475 WARN org.apache.hadoop.ipc.HBaseServer: IPC 
> Server
>>>   Responder, call execCoprocessor([B@50cb21, getProjection(), rpc 
> version=1,
>>>   client version=0, methodsFingerPrint=0), rpc version=1, client 
> version=29,
>>>   methodsFingerPrint=54742778 from 10.184.17.26:46472: output error
>>>   2012-03-08 12:03:09,476 WARN org.apache.hadoop.ipc.HBaseServer: IPC 
> Server
>>>   handler 7 on 60020 caught: java.nio.channels.ClosedChannelException
>> 
>> 
>>  Usually this means the client has gone away perhaps because the
>>  processing was taking longer than the rpctimeout?  Does the above
>>  happen every time?
>> 
>>  St.Ack
>> 
> 

Re: Coprocessor execution with bulk data

Posted by lars hofhansl <lh...@yahoo.com>.
+1 on "keepalive". It's a shame (especially for long running server code) to do all the work,
just to find out at the end that the client has given up.

Or maybe there should be a way to cancel an operation if the clients decides it does not want to wait any longer (PostgreSQL does that for example).
Here that would mean the server would need to check periodically and coprocessors would need to be written to support that - so maybe that's no-starter.


async RPC would be great too. asynchbase is a good example of such an API.


-- Lars



________________________________
 From: Andrew Purtell <ap...@apache.org>
To: "user@hbase.apache.org" <us...@hbase.apache.org> 
Sent: Thursday, March 8, 2012 10:56 AM
Subject: Re: Coprocessor execution with bulk data
 
You can increase the RPC timeout period to keep this from happening.

But maybe it makes sense to give our RPC a "keepalive" option for calls that may run for a long time (like execCoprocessor)? 


Or fold this into a broader rework into a proper async RPC model.
 
Best regards,


    - Andy

Problems worthy of attack prove their worth by hitting back. - Piet Hein (via Tom White)



----- Original Message -----
> From: Stack <st...@duboce.net>
> To: user@hbase.apache.org
> Cc: 
> Sent: Thursday, March 8, 2012 9:14 AM
> Subject: Re: Coprocessor execution with bulk data
> 
> On Wed, Mar 7, 2012 at 10:59 PM, raghavendhra rahul
> <ra...@gmail.com> wrote:
>>  2012-03-08 12:03:09,475 WARN org.apache.hadoop.ipc.HBaseServer: IPC Server
>>  Responder, call execCoprocessor([B@50cb21, getProjection(), rpc version=1,
>>  client version=0, methodsFingerPrint=0), rpc version=1, client version=29,
>>  methodsFingerPrint=54742778 from 10.184.17.26:46472: output error
>>  2012-03-08 12:03:09,476 WARN org.apache.hadoop.ipc.HBaseServer: IPC Server
>>  handler 7 on 60020 caught: java.nio.channels.ClosedChannelException
> 
> 
> Usually this means the client has gone away perhaps because the
> processing was taking longer than the rpctimeout?  Does the above
> happen every time?
> 
> St.Ack
>

Re: Coprocessor execution with bulk data

Posted by Andrew Purtell <ap...@apache.org>.
You can increase the RPC timeout period to keep this from happening.

But maybe it makes sense to give our RPC a "keepalive" option for calls that may run for a long time (like execCoprocessor)? 


Or fold this into a broader rework into a proper async RPC model.
 
Best regards,


    - Andy

Problems worthy of attack prove their worth by hitting back. - Piet Hein (via Tom White)



----- Original Message -----
> From: Stack <st...@duboce.net>
> To: user@hbase.apache.org
> Cc: 
> Sent: Thursday, March 8, 2012 9:14 AM
> Subject: Re: Coprocessor execution with bulk data
> 
> On Wed, Mar 7, 2012 at 10:59 PM, raghavendhra rahul
> <ra...@gmail.com> wrote:
>>  2012-03-08 12:03:09,475 WARN org.apache.hadoop.ipc.HBaseServer: IPC Server
>>  Responder, call execCoprocessor([B@50cb21, getProjection(), rpc version=1,
>>  client version=0, methodsFingerPrint=0), rpc version=1, client version=29,
>>  methodsFingerPrint=54742778 from 10.184.17.26:46472: output error
>>  2012-03-08 12:03:09,476 WARN org.apache.hadoop.ipc.HBaseServer: IPC Server
>>  handler 7 on 60020 caught: java.nio.channels.ClosedChannelException
> 
> 
> Usually this means the client has gone away perhaps because the
> processing was taking longer than the rpctimeout?  Does the above
> happen every time?
> 
> St.Ack
> 

Re: Coprocessor execution with bulk data

Posted by Stack <st...@duboce.net>.
On Wed, Mar 7, 2012 at 10:59 PM, raghavendhra rahul
<ra...@gmail.com> wrote:
> 2012-03-08 12:03:09,475 WARN org.apache.hadoop.ipc.HBaseServer: IPC Server
> Responder, call execCoprocessor([B@50cb21, getProjection(), rpc version=1,
> client version=0, methodsFingerPrint=0), rpc version=1, client version=29,
> methodsFingerPrint=54742778 from 10.184.17.26:46472: output error
> 2012-03-08 12:03:09,476 WARN org.apache.hadoop.ipc.HBaseServer: IPC Server
> handler 7 on 60020 caught: java.nio.channels.ClosedChannelException


Usually this means the client has gone away perhaps because the
processing was taking longer than the rpctimeout?  Does the above
happen every time?

St.Ack