Hi Oleg
Normally, if your client does not process rows fast enough you should get a UnknownScannerException. A higher cache value means a higher time between two next() operations (that renew the lease) so a higher chance to get a USE. Try to optimize the row processing in the client and lower the cache value...
But, from what I've seen (not 100% sure), if you get an exception at

Leases.removeLease(Leases.java:230)

then it suspect you hit an old problem of versions before 0.92 (something to do with a slow RS internal scanner).
Try to upgrade in this case, we didn't see that exception after the upgrade.

Regards
Daniel


On 07/13/2012 10:59 AM, Oleg Ruchovets wrote:
Hi ,
  running scan job against hbase I got such exceptions:


    org.apache.hadoop.hbase.regionserver.LeaseException:
org.apache.hadoop.hbase.regionserver.LeaseException: lease
'4926582861878965506' does not exist
         at
org.apache.hadoop.hbase.regionserver.Leases.removeLease(Leases.java:230)
         at
org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:1879)
         at sun.reflect.GeneratedMethodAccessor13.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:570)
         at
org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1039)

         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
         at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
         at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
         at
org.apache.hadoop.hbase.RemoteExceptionHandler.decodeRemoteException(RemoteExceptionHandler.java:96)
         at
org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:83)
         at
org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:38)

It looks like I need to change such parameters:
http://www.nosql.se/tags/hbase-rpc-timeout/<https://by2prd0810.outlook.com/owa/redir.aspx?C=VcO9A2LF30O-wtPJHaVRvqE9UWFiNM8IjD6Wz2v0zXgyF9zVTFudYG9uf2fTzo-twOrlK2wI6wk.&URL=http%3a%2f%2fwww.nosql.se%2ftags%2fhbase-rpc-timeout%2f>

  <property>
     <name>hbase.regionserver.lease.period</name>
     <value>900000</value> <!-- 900 000, 15 minutes -->
   </property>
   <property>
     <name>hbase.rpc.timeout</name>
     <value>900000>/value> <!-- 15 minutes -->
   </property>


Questions:

   1) Am I write that increasing these parameters it is the way to
resolve the Issue of LeaseExceptions?

   2) How this issue is depend on scan *cache size*. I mean defining
bigger cache size : does it mean that it takes more time to process
and as a result I get LeaseException?


Thanks in Advance

Oleg.


Reply via email to