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 <wangyongqiang0...@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 > >