Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
HBase, mail # user - Checking if a coprocessor was loaded successfully from client


Copy link to this message
-
Re: Checking if a coprocessor was loaded successfully from client
Mesika, Asaf 2012-12-10, 13:11
I guess I'm missing something in the sequence of actions here:

1. I'm disabling the table. This action is synchronous.
2. I'm running the method hBaseAdmin.modifyTable(), which is *asynchronous*
3. I'm supposed to use hBaseAdmin.getAlterStatus() to check every x seconds whether all regions have been modified.
4. Once that has passed, I can finally enable the table, which is a synchronous action. This should signify that the table's region are online, thus have loaded the region observer class and instantiated it - meaning, it has found the JAR file specified in its HDFS location.

hasCoprocessor just checks whether the metadata object has the coprocessor attribute and it if has the className you supplied to it.
How can I know that if a classname is present on a HTableDescriptor, then al the tables's regions successfully instantiated the region observer?

On Dec 10, 2012, at 10:01 AM, anil gupta wrote:

> Hi Asaf,
>
> Have a look at the
> *hasCoprocessor<http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/HTableDescriptor.html#hasCoprocessor%28java.lang.String%29>
> * method of HTD:
> http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/HTableDescriptor.html#hasCoprocessor(java.lang.String)
>
> It might be helpful for you. I have used it in past to check whether a
> coprocessors is successfully added or not.
>
> HTH,
> Anil
>
> On Sun, Dec 9, 2012 at 2:25 PM, Ted Yu <[EMAIL PROTECTED]> wrote:
>
>> On region server web UI, you should see the list of coprocessors loaded.
>>
>> But I guess you're looking for a programmatic way of detecting coprocessor
>> deployment.
>>
>> Cheers
>>
>> On Sun, Dec 9, 2012 at 12:29 PM, Mesika, Asaf <[EMAIL PROTECTED]>
>> wrote:
>>
>>> 0.94.0
>>> On Dec 9, 2012, at 3:03 PM, [EMAIL PROTECTED] wrote:
>>>
>>>> Which hbase version are you targeting ?
>>>>
>>>> Thanks
>>>>
>>>>
>>>>
>>>> On Dec 9, 2012, at 2:55 AM, "Mesika, Asaf" <[EMAIL PROTECTED]>
>>> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I wrote a custom Region Observer.
>>>>> I'm currently writing an Installer class for it.
>>>>> In this installer I'm adding the region observer by adding a
>>> coprocessor to the HTableDescriptor, and then calling modifyTable by
>>> HBaseAdmin.
>>>>>
>>>>> My question is: How can I check whether region observer was loaded
>>> successfully for this table?
>>>>>
>>>>> I tried searching for a way to get the Coprocessor.State somehow for
>> my
>>> region observer so I'll know it's ACTIVE, but couldn't find a way.
>>>>>
>>>>>
>>>>> Thank you,
>>>>>
>>>>> Asaf
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>
>>>
>>
>
>
>
> --
> Thanks & Regards,
> Anil Gupta