HBASE-9233 isTableAvailable() may be stuck if an offline parent was never assigned
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1514902 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
0a31b4bd8a
commit
8b39e48691
@ -868,7 +868,7 @@ public class HConnectionManager {
|
|||||||
@Override
|
@Override
|
||||||
public boolean processRow(Result row) throws IOException {
|
public boolean processRow(Result row) throws IOException {
|
||||||
HRegionInfo info = MetaScanner.getHRegionInfo(row);
|
HRegionInfo info = MetaScanner.getHRegionInfo(row);
|
||||||
if (info != null) {
|
if (info != null && !info.isSplitParent()) {
|
||||||
if (tableName.equals(info.getTableName())) {
|
if (tableName.equals(info.getTableName())) {
|
||||||
ServerName server = HRegionInfo.getServerName(row);
|
ServerName server = HRegionInfo.getServerName(row);
|
||||||
if (server == null) {
|
if (server == null) {
|
||||||
@ -903,7 +903,7 @@ public class HConnectionManager {
|
|||||||
@Override
|
@Override
|
||||||
public boolean processRow(Result row) throws IOException {
|
public boolean processRow(Result row) throws IOException {
|
||||||
HRegionInfo info = MetaScanner.getHRegionInfo(row);
|
HRegionInfo info = MetaScanner.getHRegionInfo(row);
|
||||||
if (info != null) {
|
if (info != null && !info.isSplitParent()) {
|
||||||
if (tableName.equals(info.getTableName())) {
|
if (tableName.equals(info.getTableName())) {
|
||||||
ServerName server = HRegionInfo.getServerName(row);
|
ServerName server = HRegionInfo.getServerName(row);
|
||||||
if (server == null) {
|
if (server == null) {
|
||||||
|
@ -124,6 +124,8 @@ public class TestCreateTableHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
assertTrue(TEST_UTIL.getHBaseAdmin().isTableEnabled(tableName));
|
assertTrue(TEST_UTIL.getHBaseAdmin().isTableEnabled(tableName));
|
||||||
|
assertTrue(TEST_UTIL.getHBaseAdmin().isTableAvailable(tableName));
|
||||||
|
assertTrue(TEST_UTIL.getHBaseAdmin().isTableAvailable(tableName, new byte[][] { splitPoint }));
|
||||||
RegionStates regionStates = m.getAssignmentManager().getRegionStates();
|
RegionStates regionStates = m.getAssignmentManager().getRegionStates();
|
||||||
assertTrue("Parent should be in SPLIT state",
|
assertTrue("Parent should be in SPLIT state",
|
||||||
regionStates.isRegionInState(parent, State.SPLIT));
|
regionStates.isRegionInState(parent, State.SPLIT));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user