I am using hbase 1.1.1.
I have following property value in hbase-site.xml and I didn't set
value hbase.client.scanner.caching
property(so it must pick default value for this)
<property>
<name>hbase.client.scanner.timeout.period</name>
<value>60000</value>
</property>
<property>
<name>hbase.rpc.timeout</name>
<value>60000</value>
</property>
When scanning 30 tables in hbase(each table holds 45 million records) I got
the following error
WARN client.ScannerCallable [main]: Ignore, probably already closed
org.apache.hadoop.hbase.regionserver.LeaseException:
org.apache.hadoop.hbase.regionserver.LeaseException: lease does not exist
But when I added hbase.client.scanner.caching property value as zero I
didn't get any error. Why this happened?
Even though I gave zero it supposed to pick the default value? How can this
process succeeds?
Thanks
On Mon, Jan 2, 2017 at 10:44 AM, Josh Elser <[email protected]> wrote:
> I am having an extremely difficult time parsing this one, Rajeshkumar.
>
> If you still have a question/something you don't understand, I'd
> appreciate it if you could try to re-state it a little more clearly.
>
>
> Rajeshkumar J wrote:
>
>> I am using hbase 1.1.1. Yes while setting zero it must pick the default
>> value that is INTEGER.MAX_VALUE in hbase 1.1.1. Already we have set the
>> value as INTEGER.MAX_VALUE only but earlier it had failed but now
>> succeeded. So only I am asking this. Also I didn't change any property
>> whatever I used in process which failed in the process which succeeded
>> except assigning Zero value for this property
>>
>> On Thu, Dec 29, 2016 at 1:33 AM, Josh Elser<[email protected]> wrote:
>>
>> Most likely, since you gave a nonsensical value, HBase used a default
>>> value instead of the one you provided. Since you have not shared the
>>> version of HBase which you are using, I would recommend that you look at
>>> the code. It should be very obvious what value is being used instead of
>>> the
>>> bogus value you provided.
>>>
>>>
>>> Rajeshkumar J wrote:
>>>
>>> I have tried setting hbase.client.scanner.caching property to 0 with
>>>> above
>>>> two values as 60000. It runs fine. But hbase.client.scanner.caching
>>>> property tells no of rows to be fetched for every scanner but here I
>>>> have
>>>> given zero. How this worked?
>>>>
>>>> On Tue, Dec 27, 2016 at 8:05 PM, Josh Elser<[email protected]> wrote:
>>>>
>>>> hbase.client.scanner.timeout.period is a timeout specifically for RPCs
>>>>
>>>>> that come from the HBase Scanner classes (e.g. ClientScanner) while
>>>>> hbase.rpc.timeout is the default timeout for any RPC. I believe that
>>>>> the
>>>>> hbase.client.scanner.timeout.period is also used by the RegionServers
>>>>> to
>>>>> define the lifetime of the Lease (the cause of the LeaseException
>>>>> you're
>>>>> seeing).
>>>>>
>>>>> Generally, when you see these kinds of exceptions while scanning data
>>>>> in
>>>>> HBase, it is just a factor of your hardware and current performance (in
>>>>> other words, how long it takes to read your data). I can't really give
>>>>> a
>>>>> firm answer because it is dependent on your system's performance. You
>>>>> should be able to approximate the performance with some
>>>>> back-of-the-envelope math.
>>>>>
>>>>> Some changes like https://issues.apache.org/jira/browse/HBASE-13090
>>>>> and
>>>>> https://issues.apache.org/jira/browse/HBASE-13333 should help reduce
>>>>> the
>>>>> need for you to tweak configuration properties in the future.
>>>>>
>>>>>
>>>>> Rajeshkumar J wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>>> I have following property value as below
>>>>>>
>>>>>> <property>
>>>>>> <name>hbase.client.scanner.timeout.period</name>
>>>>>> <value>60000</value>
>>>>>> </property>
>>>>>>
>>>>>> <property>
>>>>>> <name>hbase.rpc.timeout</name>
>>>>>> <value>60000</value>
>>>>>> </property>
>>>>>> When scanning 30 tables in hbase(each table holds 45 million records)
>>>>>> I
>>>>>> got
>>>>>>
>>>>>> WARN client.ScannerCallable [main]: Ignore, probably already closed
>>>>>> org.apache.hadoop.hbase.regionserver.LeaseException:
>>>>>> org.apache.hadoop.hbase.regionserver.LeaseException: lease does not
>>>>>> exist
>>>>>>
>>>>>> But when I change the value to
>>>>>>
>>>>>> <property>
>>>>>> <name>hbase.client.scanner.timeout.period</name>
>>>>>> <value>70000</value>
>>>>>> </property>
>>>>>>
>>>>>> <property>
>>>>>> <name>hbase.rpc.timeout</name>
>>>>>> <value>70000</value>
>>>>>> </property>
>>>>>> It runs successfully.
>>>>>> Can any one tell me the reason for this failure and also is there any
>>>>>> factor to calculate these property values for any data.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>