You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by st...@apache.org on 2010/10/21 22:35:58 UTC
svn commit: r1026131 - in /hbase/trunk: ./
src/main/java/org/apache/hadoop/hbase/
src/main/java/org/apache/hadoop/hbase/master/
src/main/java/org/apache/hadoop/hbase/rest/model/
src/main/java/org/apache/hadoop/hbase/util/ src/test/java/org/apache/hadoo...
Author: stack
Date: Thu Oct 21 20:35:57 2010
New Revision: 1026131
URL: http://svn.apache.org/viewvc?rev=1026131&view=rev
Log:
HBASE-2658 REST (stargate) TableRegionModel Regions need to be updated to work w/ new region naming convention from HBASE-2531
Modified:
hbase/trunk/CHANGES.txt
hbase/trunk/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
hbase/trunk/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java
hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/model/TableRegionModel.java
hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/MetaUtils.java
hbase/trunk/src/test/java/org/apache/hadoop/hbase/rest/TestTableResource.java
hbase/trunk/src/test/java/org/apache/hadoop/hbase/rest/model/TestTableRegionModel.java
Modified: hbase/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hbase/trunk/CHANGES.txt?rev=1026131&r1=1026130&r2=1026131&view=diff
==============================================================================
--- hbase/trunk/CHANGES.txt (original)
+++ hbase/trunk/CHANGES.txt Thu Oct 21 20:35:57 2010
@@ -599,6 +599,8 @@ Release 0.21.0 - Unreleased
HBASE-2985 HRegionServer.multi() no longer calls HRegion.put(List) when
possible
HBASE-3031 CopyTable MR job named "Copy Table" in Driver
+ HBASE-2658 REST (stargate) TableRegionModel Regions need to be updated to
+ work w/ new region naming convention from HBASE-2531
IMPROVEMENTS
Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java?rev=1026131&r1=1026130&r2=1026131&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java Thu Oct 21 20:35:57 2010
@@ -261,7 +261,16 @@ public class HRegionInfo extends Version
this.encodedName = other.getEncodedName();
}
- private static byte [] createRegionName(final byte [] tableName,
+ /**
+ * Make a region name of passed parameters.
+ * @param tableName
+ * @param startKey Can be null
+ * @param id Region id (Usually timestamp from when region was created).
+ * @param newFormat should we create the region name in the new format
+ * (such that it contains its encoded name?).
+ * @return Region name made of passed tableName, startKey and id
+ */
+ public static byte [] createRegionName(final byte [] tableName,
final byte [] startKey, final long regionid, boolean newFormat) {
return createRegionName(tableName, startKey, Long.toString(regionid), newFormat);
}
@@ -270,7 +279,7 @@ public class HRegionInfo extends Version
* Make a region name of passed parameters.
* @param tableName
* @param startKey Can be null
- * @param id Region id.
+ * @param id Region id (Usually timestamp from when region was created).
* @param newFormat should we create the region name in the new format
* (such that it contains its encoded name?).
* @return Region name made of passed tableName, startKey and id
@@ -279,11 +288,12 @@ public class HRegionInfo extends Version
final byte [] startKey, final String id, boolean newFormat) {
return createRegionName(tableName, startKey, Bytes.toBytes(id), newFormat);
}
+
/**
* Make a region name of passed parameters.
* @param tableName
* @param startKey Can be null
- * @param id Region id
+ * @param id Region id (Usually timestamp from when region was created).
* @param newFormat should we create the region name in the new format
* (such that it contains its encoded name?).
* @return Region name made of passed tableName, startKey and id
Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java?rev=1026131&r1=1026130&r2=1026131&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/HTableDescriptor.java Thu Oct 21 20:35:57 2010
@@ -255,6 +255,15 @@ public class HTableDescriptor implements
}
/**
+ * @param n Table name.
+ * @return True if a catalog table, -ROOT- or .META.
+ */
+ public static boolean isMetaTable(final byte [] n) {
+ return Bytes.equals(n, HConstants.ROOT_TABLE_NAME) ||
+ Bytes.equals(n, HConstants.META_TABLE_NAME);
+ }
+
+ /**
* Check passed buffer is legal user-space table name.
* @param b Table name.
* @return Returns passed <code>b</code> param
Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java?rev=1026131&r1=1026130&r2=1026131&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/ServerManager.java Thu Oct 21 20:35:57 2010
@@ -41,9 +41,9 @@ import org.apache.hadoop.hbase.PleaseHol
import org.apache.hadoop.hbase.Server;
import org.apache.hadoop.hbase.Stoppable;
import org.apache.hadoop.hbase.YouAreDeadException;
-import org.apache.hadoop.hbase.ZooKeeperConnectionException;
import org.apache.hadoop.hbase.client.HConnection;
import org.apache.hadoop.hbase.client.HConnectionManager;
+import org.apache.hadoop.hbase.client.RetriesExhaustedException;
import org.apache.hadoop.hbase.ipc.HRegionInterface;
import org.apache.hadoop.hbase.master.handler.ServerShutdownHandler;
import org.apache.hadoop.hbase.master.metrics.MasterMetrics;
Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/model/TableRegionModel.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/model/TableRegionModel.java?rev=1026131&r1=1026130&r2=1026131&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/model/TableRegionModel.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/rest/model/TableRegionModel.java Thu Oct 21 20:35:57 2010
@@ -25,6 +25,8 @@ import java.io.Serializable;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlRootElement;
+import org.apache.hadoop.hbase.HRegionInfo;
+import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.util.Bytes;
/**
@@ -91,13 +93,11 @@ public class TableRegionModel implements
*/
@XmlAttribute
public String getName() {
- StringBuilder sb = new StringBuilder();
- sb.append(table);
- sb.append(',');
- sb.append(Bytes.toString(startKey));
- sb.append(',');
- sb.append(id);
- return sb.toString();
+ byte [] tableNameAsBytes = Bytes.toBytes(this.table);
+ byte [] nameAsBytes = HRegionInfo.createRegionName(tableNameAsBytes,
+ this.startKey, this.id,
+ !HTableDescriptor.isMetaTable(tableNameAsBytes));
+ return Bytes.toString(nameAsBytes);
}
/**
@@ -137,9 +137,11 @@ public class TableRegionModel implements
*/
public void setName(String name) {
String split[] = name.split(",");
- table = split[0];
- startKey = Bytes.toBytes(split[1]);
- id = Long.valueOf(split[2]);
+ this.table = split[0];
+ this.startKey = Bytes.toBytes(split[1]);
+ String tail = split[2];
+ split = tail.split("\\.");
+ id = Long.valueOf(split[0]);
}
/**
Modified: hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/MetaUtils.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/MetaUtils.java?rev=1026131&r1=1026130&r2=1026131&view=diff
==============================================================================
--- hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/MetaUtils.java (original)
+++ hbase/trunk/src/main/java/org/apache/hadoop/hbase/util/MetaUtils.java Thu Oct 21 20:35:57 2010
@@ -475,13 +475,4 @@ public class MetaUtils {
}});
return result;
}
-
- /**
- * @param n Table name.
- * @return True if a catalog table, -ROOT- or .META.
- */
- public static boolean isMetaTableName(final byte [] n) {
- return Bytes.equals(n, HConstants.ROOT_TABLE_NAME) ||
- Bytes.equals(n, HConstants.META_TABLE_NAME);
- }
}
Modified: hbase/trunk/src/test/java/org/apache/hadoop/hbase/rest/TestTableResource.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/java/org/apache/hadoop/hbase/rest/TestTableResource.java?rev=1026131&r1=1026130&r2=1026131&view=diff
==============================================================================
--- hbase/trunk/src/test/java/org/apache/hadoop/hbase/rest/TestTableResource.java (original)
+++ hbase/trunk/src/test/java/org/apache/hadoop/hbase/rest/TestTableResource.java Thu Oct 21 20:35:57 2010
@@ -170,7 +170,7 @@ public class TestTableResource extends H
HRegionInfo hri = e.getKey();
String hriRegionName = hri.getRegionNameAsString();
String regionName = region.getName();
- if (hriRegionName.startsWith(regionName)) {
+ if (hriRegionName.equals(regionName)) {
found = true;
byte[] startKey = hri.getStartKey();
byte[] endKey = hri.getEndKey();
Modified: hbase/trunk/src/test/java/org/apache/hadoop/hbase/rest/model/TestTableRegionModel.java
URL: http://svn.apache.org/viewvc/hbase/trunk/src/test/java/org/apache/hadoop/hbase/rest/model/TestTableRegionModel.java?rev=1026131&r1=1026130&r2=1026131&view=diff
==============================================================================
--- hbase/trunk/src/test/java/org/apache/hadoop/hbase/rest/model/TestTableRegionModel.java (original)
+++ hbase/trunk/src/test/java/org/apache/hadoop/hbase/rest/model/TestTableRegionModel.java Thu Oct 21 20:35:57 2010
@@ -26,6 +26,8 @@ import java.io.StringWriter;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
+import org.apache.hadoop.hbase.HRegionInfo;
+import org.apache.hadoop.hbase.HTableDescriptor;
import org.apache.hadoop.hbase.util.Bytes;
import junit.framework.TestCase;
@@ -75,14 +77,30 @@ public class TestTableRegionModel extend
assertEquals(model.getId(), ID);
assertEquals(model.getLocation(), LOCATION);
assertEquals(model.getName(),
- TABLE + "," + Bytes.toString(START_KEY) + "," + Long.toString(ID));
+ TABLE + "," + Bytes.toString(START_KEY) + "," + Long.toString(ID) +
+ ".ad9860f031282c46ed431d7af8f94aca.");
}
public void testBuildModel() throws Exception {
checkModel(buildTestModel());
}
+ public void testGetName() {
+ TableRegionModel model = buildTestModel();
+ String modelName = model.getName();
+ HRegionInfo hri = new HRegionInfo(new HTableDescriptor(TABLE),
+ START_KEY, END_KEY, false, ID);
+ assertEquals(modelName, hri.getRegionNameAsString());
+ }
+
+ public void testSetName() {
+ TableRegionModel model = buildTestModel();
+ String name = model.getName();
+ model.setName(name);
+ assertEquals(name, model.getName());
+ }
+
public void testFromXML() throws Exception {
checkModel(fromXML(AS_XML));
}
-}
+}
\ No newline at end of file