hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From WangYQ <wangyongqiang0...@163.com>
Subject Re: Re: RS open hbase:meta may throw NullPointerException
Date Fri, 03 Jun 2016 14:26:39 GMT
yes, the code below can be improved
       // See HBASE-5094. Cross check with hbase:meta if still this RS
is owning
        // the region.
        Pair<HRegionInfo, ServerName> p = MetaReader.getRegion(
            this.catalogTracker, region.getRegionName());


if regionserver opens hbase:meta timeout(1 minute), then master will retry to open hbase:meta
by send another rpc to region server
if rs opens hbas:meta before receive the second open request, null pointer will be thorwn

in common case, rs can opens hbase:meta in one minutes, so i am not sure whether this is a
problem



thanks



On 2016-06-03 21:25 , Ted Yu Wrote:

Were you referring to the following lines ?

         // See HBASE-5094. Cross check with hbase:meta if still this RS
is owning
         // the region.
         Pair<HRegionInfo, ServerName> p = MetaReader.getRegion(
             this.catalogTracker, region.getRegionName());

The above is at line 3967 at head of 0.98 branch.

If you can come up with test which shows the problem for head of 0.98
branch, suggest opening a JIRA.

Cheers

On Fri, Jun 3, 2016 at 2:16 AM, WangYQ <wangyongqiang0617@163.com> wrote:

> in hbase 0.98.10,
> class HRegionServer
> method openRegion
> line 3827
>
>
> when RS open region, if this region is already opened by RS, we will check
> hbase:meta to see if hbase:meta is updated.
> but, if the RS is opening hbase:meta, then MetaReader.getRegion will
> return null(we do not store hbase:meta data in table hbase:meta), and lead
> to nullPointerException
>
>
> we can reproduce this problem as follows:
> 1. master assign hbase:meta
> 2. RS open hbase:meta slowly, master timeout(may because of high load or
> network problem),
> 3. master send open region request again(RS is still opening hbase:meta,
> and opened)
> 4. RS will throw NullPointerException and hmaster will retry forever
>
>
Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message