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

Switch to Plain View
HBase >> mail # user >> Checking if a coprocessor was loaded successfully from client


+
Mesika, Asaf 2012-12-09, 10:55
+
yuzhihong@... 2012-12-09, 13:03
+
Mesika, Asaf 2012-12-09, 20:29
+
Ted Yu 2012-12-09, 22:25
+
anil gupta 2012-12-10, 08:01
+
Azury 2012-12-10, 08:12
+
Mesika, Asaf 2012-12-10, 13:12
+
Mesika, Asaf 2012-12-10, 13:11
+
Ted Yu 2012-12-10, 16:03
+
Asaf Mesika 2012-12-11, 05:46
Copy link to this message
-
Re: Checking if a coprocessor was loaded successfully from client
For #1 below, can you check master log and look for the following ?

    LOG.info("Reopening " + reRegions.size() + " regions on "
        + serverToRegions.size() + " region servers.");

this.masterServices.getAssignmentManager().setRegionsToReopen(reRegions);

See if the region count in the log is always 0.

For #2, there is no easy way to verify on each region server other than
scanning region server log.

There're several places in (Region)CoprocessorHost where we log exception
if loading encounters problem.

I hope HBASE-6873 <https://issues.apache.org/jira/browse/HBASE-6873> can
get into the next 0.94 release.

Cheers

On Mon, Dec 10, 2012 at 9:46 PM, Asaf Mesika <[EMAIL PROTECTED]> wrote:

> My test on a table that doesn't have any coprocessor. It does loads
> successfully, but I want to understand two things:
> 1. How should I use getAlterStatus? I'm asking since even placing it
> between modifyTable and enable and waiting for getFirst to return number of
> regions fails (always returns 0)
> 2. How should I check they each region server managed to instantiate the
> Region Observer class, i.e. managed to access the jar.
>
> Sent from my iPhone
>
> On 10 בדצמ 2012, at 18:04, Ted Yu <[EMAIL PROTECTED]> wrote:
>
> Asaf:
> Your coprocessor was successfully running prior to the schema change ?
>
> See HBASE-6873 <https://issues.apache.org/jira/browse/HBASE-6873> Clean up
> Coprocessor load failure handling.
>
> Cheers
>
> On Mon, Dec 10, 2012 at 5:11 AM, Mesika, Asaf <[EMAIL PROTECTED]>
> wrote:
>
> 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
>
+
Asaf Mesika 2012-12-12, 07:08
+
Ted Yu 2012-12-12, 19:44
+
Andrew Purtell 2012-12-12, 21:47