HBASE-5424 HTable meet NPE when call getRegionInfo()
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1292645 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c3575d2eb5
commit
6a80cf5bf9
|
@ -449,24 +449,26 @@ public class HTable implements HTableInterface {
|
|||
|
||||
MetaScannerVisitor visitor = new MetaScannerVisitor() {
|
||||
public boolean processRow(Result rowResult) throws IOException {
|
||||
HRegionInfo info = Writables.getHRegionInfo(
|
||||
HRegionInfo info = Writables.getHRegionInfoOrNull(
|
||||
rowResult.getValue(HConstants.CATALOG_FAMILY,
|
||||
HConstants.REGIONINFO_QUALIFIER));
|
||||
|
||||
if (!(Bytes.equals(info.getTableName(), getTableName()))) {
|
||||
return false;
|
||||
}
|
||||
if (info != null) {
|
||||
if (!(Bytes.equals(info.getTableName(), getTableName()))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
HServerAddress server = new HServerAddress();
|
||||
byte [] value = rowResult.getValue(HConstants.CATALOG_FAMILY,
|
||||
HServerAddress server = new HServerAddress();
|
||||
byte [] value = rowResult.getValue(HConstants.CATALOG_FAMILY,
|
||||
HConstants.SERVER_QUALIFIER);
|
||||
if (value != null && value.length > 0) {
|
||||
String hostAndPort = Bytes.toString(value);
|
||||
server = new HServerAddress(Addressing.createInetSocketAddressFromHostAndPortStr(hostAndPort));
|
||||
}
|
||||
if (value != null && value.length > 0) {
|
||||
String hostAndPort = Bytes.toString(value);
|
||||
server = new HServerAddress(Addressing.createInetSocketAddressFromHostAndPortStr(hostAndPort));
|
||||
}
|
||||
|
||||
if (!(info.isOffline() || info.isSplit())) {
|
||||
regionMap.put(new UnmodifyableHRegionInfo(info), server);
|
||||
if (!(info.isOffline() || info.isSplit())) {
|
||||
regionMap.put(new UnmodifyableHRegionInfo(info), server);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue