hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Geovanie Marquez <geovanie.marq...@gmail.com>
Subject Re: Region Server State Checks
Date Tue, 24 Jun 2014 18:44:26 GMT
Looks like exactly what I was looking for, thank you!


On Tue, Jun 24, 2014 at 2:39 PM, Ted Yu <yuzhihong@gmail.com> wrote:

> Please take a look at the following method in HBaseAdmin:
>
>   public ClusterStatus getClusterStatus() throws IOException {
>
> Cheers
>
>
> On Tue, Jun 24, 2014 at 11:34 AM, Geovanie Marquez <
> geovanie.marquez@gmail.com> wrote:
>
> > What is a good way of checking RegionState?
> >
> > I am getting the following error when I programmatically try to merge
> > regions.
> >
> > Exception in thread "main" java.lang.RuntimeException:
> > org.apache.hadoop.hbase.exceptions.MergeRegionException:
> > org.apache.hadoop.hbase.exceptions.MergeRegionException: Unable to merge
> > regions not online {bc279b84bdfc06496d3fbc2acf12085f state=MERGED,
> > ts=1403551774320, server=<server-fqdn>,60020,1403551532067},
> > {c7ff5a85b0c8a82d933e3b826fa4fa2b state=OPEN, ts=1403551554878,
> > server=<server-fqdn>,60020,1403551532067}
> >
> > This is intermittent and when I rerun the program, the regions merge
> > without problem. Sometimes I have to do this several times. I would
> rather
> > check the region state and then place a wait for some number of retries.
> >
> > byte[] regionA =
> > regionLocations.get(0).getRegionInfo().getEncodedNameAsBytes();
> >
> >         for (int i = 1; i < regionLocations.size(); i++) {
> >
> >             byte[] regionB =
> > regionLocations.get(i).getRegionInfo().getEncodedNameAsBytes();
> >
> >             admin.mergeRegions(regionA, regionB, true); // HERE - I error
> > out with state=OPEN problems. How can I check state?
> >
> >         }
> >
> > Can I check for RegionState somewhere? I am having trouble finding a good
> > Class to do this with.
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message