You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by jx...@apache.org on 2013/03/19 00:15:11 UTC
svn commit: r1458061 -
/hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java
Author: jxiang
Date: Mon Mar 18 23:15:10 2013
New Revision: 1458061
URL: http://svn.apache.org/r1458061
Log:
HBASE-7597 TestHBaseFsck#testRegionShouldNotBeDeployed seems to be flaky
Modified:
hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java
Modified: hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java?rev=1458061&r1=1458060&r2=1458061&view=diff
==============================================================================
--- hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java (original)
+++ hbase/branches/0.95/hbase-server/src/test/java/org/apache/hadoop/hbase/util/TestHBaseFsck.java Mon Mar 18 23:15:10 2013
@@ -1084,7 +1084,7 @@ public class TestHBaseFsck {
}
/**
- * the region is not deployed when the table is disabled.
+ * The region is not deployed when the table is disabled.
*/
@Test
public void testRegionShouldNotBeDeployed() throws Exception {
@@ -1126,16 +1126,32 @@ public class TestHBaseFsck {
ZKTable zkTable = cluster.getMaster().getAssignmentManager().getZKTable();
zkTable.setEnabledTable(table);
HRegionInfo region = disabledRegions.remove(0);
+ byte[] regionName = region.getRegionName();
+
+ // The region should not be assigned currently
+ assertTrue(cluster.getServerWith(regionName) == -1);
ZKAssign.createNodeOffline(zkw, region, serverName);
ProtobufUtil.openRegion(hrs, region);
int iTimes = 0;
- byte[] regionName = region.getRegionName();
while (true) {
if (cluster.getServerWith(regionName) != -1) {
- // Now, region is deployed, reset the table state back
- zkTable.setDisabledTable(table);
- break;
+ List<HRegionInfo> regions = ProtobufUtil.getOnlineRegions(hrs);
+ boolean found = false;
+ for (HRegionInfo hri: regions) {
+ if (Bytes.equals(hri.getRegionName(), regionName)) {
+ found = true;
+ break;
+ }
+ }
+ if (!found) {
+ LOG.info("Region was deployed but not in online " +
+ "region list. This should be transient. Waiting longer");
+ } else {
+ // Now, region is deployed, reset the table state back
+ zkTable.setDisabledTable(table);
+ break;
+ }
}
Thread.sleep(100);
iTimes++;