From 421ae8504cb11cdb98803b3e4f3d19dbae914759 Mon Sep 17 00:00:00 2001 From: Michael Stack Date: Thu, 27 Oct 2011 21:05:55 +0000 Subject: [PATCH] HBASE-4388 Second start after migration from 90 to trunk crashes git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1190027 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES.txt | 1 + .../org/apache/hadoop/hbase/HConstants.java | 21 +- .../org/apache/hadoop/hbase/HRegionInfo.java | 56 ++- .../hadoop/hbase/catalog/MetaEditor.java | 11 +- .../catalog/MetaMigrationRemovingHTD.java | 273 ++++++++------ .../hadoop/hbase/catalog/MetaReader.java | 20 +- .../hadoop/hbase/master/MasterFileSystem.java | 11 - .../hadoop/hbase/regionserver/HRegion.java | 15 +- .../apache/hadoop/hbase/util/Writables.java | 12 - src/test/data/hbase-4388-root.dir.tgz | Bin 0 -> 245058 bytes .../hadoop/hbase/HBaseTestingUtility.java | 94 +---- .../hbase/client/TestMetaMigration.java | 178 --------- .../client/TestMetaMigrationRemovingHTD.java | 354 ++++++++++++++++++ .../migration/TestMigrationFrom090To092.java | 58 +++ 14 files changed, 647 insertions(+), 457 deletions(-) create mode 100644 src/test/data/hbase-4388-root.dir.tgz delete mode 100644 src/test/java/org/apache/hadoop/hbase/client/TestMetaMigration.java create mode 100644 src/test/java/org/apache/hadoop/hbase/client/TestMetaMigrationRemovingHTD.java create mode 100644 src/test/java/org/apache/hadoop/hbase/migration/TestMigrationFrom090To092.java diff --git a/CHANGES.txt b/CHANGES.txt index b1a698b1b36..760289e9f01 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -409,6 +409,7 @@ Release 0.92.0 - Unreleased HBASE-4645 Edits Log recovery losing data across column families HBASE-4634 "test.build.data" property overused leading to write data at the wrong place (nkeywal) + HBASE-4388 Second start after migration from 90 to trunk crashes TESTS HBASE-4450 test for number of blocks read: to serve as baseline for expected diff --git a/src/main/java/org/apache/hadoop/hbase/HConstants.java b/src/main/java/org/apache/hadoop/hbase/HConstants.java index e29d0d946cc..76278a28044 100644 --- a/src/main/java/org/apache/hadoop/hbase/HConstants.java +++ b/src/main/java/org/apache/hadoop/hbase/HConstants.java @@ -220,11 +220,6 @@ public final class HConstants { // be the first to be reassigned if the server(s) they are being served by // should go down. - - // - // New stuff. Making a slow transition. - // - /** The root table's name.*/ public static final byte [] ROOT_TABLE_NAME = Bytes.toBytes("-ROOT-"); @@ -255,6 +250,22 @@ public final class HConstants { /** The upper-half split region column qualifier */ public static final byte [] SPLITB_QUALIFIER = Bytes.toBytes("splitB"); + /** + * The meta table version column qualifier. + * We keep current version of the meta table in this column in -ROOT- + * table: i.e. in the 'info:v' column. + */ + public static final byte [] META_VERSION_QUALIFIER = Bytes.toBytes("v"); + + /** + * The current version of the meta table. + * Before this the meta had HTableDescriptor serialized into the HRegionInfo; + * i.e. pre-hbase 0.92. There was no META_VERSION column in the root table + * in this case. The presence of a version and its value being zero indicates + * meta is up-to-date. + */ + public static final short META_VERSION = 0; + // Other constants /** diff --git a/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java b/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java index e950df350c5..ae068c7997b 100644 --- a/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java +++ b/src/main/java/org/apache/hadoop/hbase/HRegionInfo.java @@ -21,6 +21,7 @@ package org.apache.hadoop.hbase; import java.io.DataInput; import java.io.DataOutput; +import java.io.EOFException; import java.io.IOException; import java.util.Arrays; @@ -43,8 +44,11 @@ import org.apache.hadoop.io.WritableComparable; * Contains HRegion id, start and end keys, a reference to this * HRegions' table descriptor, etc. */ -public class HRegionInfo extends VersionedWritable implements WritableComparable{ - private static final byte VERSION = 0; +public class HRegionInfo extends VersionedWritable +implements WritableComparable { + // VERSION == 0 when HRegionInfo had an HTableDescriptor inside it. + public static final byte VERSION_PRE_092 = 0; + public static final byte VERSION = 1; private static final Log LOG = LogFactory.getLog(HRegionInfo.class); /** @@ -159,7 +163,6 @@ public class HRegionInfo extends VersionedWritable implements WritableComparable // Current TableName private byte[] tableName = null; - private String tableNameAsString = null; private void setHashCode() { int result = Arrays.hashCode(this.regionName); @@ -710,16 +713,41 @@ public class HRegionInfo extends VersionedWritable implements WritableComparable @Override public void readFields(DataInput in) throws IOException { - super.readFields(in); - this.endKey = Bytes.readByteArray(in); - this.offLine = in.readBoolean(); - this.regionId = in.readLong(); - this.regionName = Bytes.readByteArray(in); - this.regionNameStr = Bytes.toStringBinary(this.regionName); - this.split = in.readBoolean(); - this.startKey = Bytes.readByteArray(in); - this.tableName = Bytes.readByteArray(in); - this.hashCode = in.readInt(); + // Read the single version byte. We don't ask the super class do it + // because freaks out if its not the current classes' version. This method + // can deserialize version 0 and version 1 of HRI. + byte version = in.readByte(); + if (version == 0) { + // This is the old HRI that carried an HTD. Migrate it. The below + // was copied from the old 0.90 HRI readFields. + this.endKey = Bytes.readByteArray(in); + this.offLine = in.readBoolean(); + this.regionId = in.readLong(); + this.regionName = Bytes.readByteArray(in); + this.regionNameStr = Bytes.toStringBinary(this.regionName); + this.split = in.readBoolean(); + this.startKey = Bytes.readByteArray(in); + try { + HTableDescriptor htd = new HTableDescriptor(); + htd.readFields(in); + this.tableName = htd.getName(); + } catch(EOFException eofe) { + throw new IOException("HTD not found in input buffer", eofe); + } + this.hashCode = in.readInt(); + } else if (getVersion() == VERSION) { + this.endKey = Bytes.readByteArray(in); + this.offLine = in.readBoolean(); + this.regionId = in.readLong(); + this.regionName = Bytes.readByteArray(in); + this.regionNameStr = Bytes.toStringBinary(this.regionName); + this.split = in.readBoolean(); + this.startKey = Bytes.readByteArray(in); + this.tableName = Bytes.readByteArray(in); + this.hashCode = in.readInt(); + } else { + throw new IOException("Non-migratable/unknown version=" + getVersion()); + } } // @@ -762,4 +790,4 @@ public class HRegionInfo extends VersionedWritable implements WritableComparable return isRootRegion()? KeyValue.ROOT_COMPARATOR: isMetaRegion()? KeyValue.META_COMPARATOR: KeyValue.COMPARATOR; } -} +} \ No newline at end of file diff --git a/src/main/java/org/apache/hadoop/hbase/catalog/MetaEditor.java b/src/main/java/org/apache/hadoop/hbase/catalog/MetaEditor.java index 6387df977a0..2f7de2a294d 100644 --- a/src/main/java/org/apache/hadoop/hbase/catalog/MetaEditor.java +++ b/src/main/java/org/apache/hadoop/hbase/catalog/MetaEditor.java @@ -37,6 +37,8 @@ import org.apache.hadoop.hbase.util.Writables; /** * Writes region and assignment information to .META.. + * TODO: Put MetaReader and MetaEditor together; doesn't make sense having + * them distinct. */ public class MetaEditor { // TODO: Strip CatalogTracker from this class. Its all over and in the end @@ -77,14 +79,12 @@ public class MetaEditor { /** * Put the passed p to a catalog table. * @param ct CatalogTracker on whose back we will ride the edit. - * @param regionName Name of the catalog table to put too. * @param p Put to add * @throws IOException */ - static void putToCatalogTable(final CatalogTracker ct, - final byte [] regionName, final Put p) + static void putToCatalogTable(final CatalogTracker ct, final Put p) throws IOException { - HTable t = MetaReader.getCatalogHTable(ct, regionName); + HTable t = MetaReader.getCatalogHTable(ct, p.getRow()); put(t, p); } @@ -254,10 +254,9 @@ public class MetaEditor { private static void updateLocation(final CatalogTracker catalogTracker, HRegionInfo regionInfo, ServerName sn) throws IOException { - final byte [] regionName = regionInfo.getRegionName(); Put put = new Put(regionInfo.getRegionName()); addLocation(put, sn); - putToCatalogTable(catalogTracker, regionName, put); + putToCatalogTable(catalogTracker, put); LOG.info("Updated row " + regionInfo.getRegionNameAsString() + " with server=" + sn); } diff --git a/src/main/java/org/apache/hadoop/hbase/catalog/MetaMigrationRemovingHTD.java b/src/main/java/org/apache/hadoop/hbase/catalog/MetaMigrationRemovingHTD.java index 78bc58404b0..01aa5156193 100644 --- a/src/main/java/org/apache/hadoop/hbase/catalog/MetaMigrationRemovingHTD.java +++ b/src/main/java/org/apache/hadoop/hbase/catalog/MetaMigrationRemovingHTD.java @@ -18,8 +18,9 @@ package org.apache.hadoop.hbase.catalog; import java.io.IOException; -import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -43,36 +44,19 @@ import org.apache.hadoop.hbase.util.Writables; public class MetaMigrationRemovingHTD { private static final Log LOG = LogFactory.getLog(MetaMigrationRemovingHTD.class); - /** The metaupdated column qualifier */ - public static final byte [] META_MIGRATION_QUALIFIER = - Bytes.toBytes("metamigrated"); - /** * Update legacy META rows, removing HTD from HRI. * @param masterServices * @return List of table descriptors. * @throws IOException */ - public static List updateMetaWithNewRegionInfo( + public static Set updateMetaWithNewRegionInfo( final MasterServices masterServices) throws IOException { - final List htds = new ArrayList(); - Visitor v = new Visitor() { - @Override - public boolean visit(Result r) throws IOException { - if (r == null || r.isEmpty()) return true; - HRegionInfo090x hrfm = MetaMigrationRemovingHTD.getHRegionInfoForMigration(r); - if (hrfm == null) return true; - htds.add(hrfm.getTableDesc()); - masterServices.getMasterFileSystem() - .createTableDescriptor(hrfm.getTableDesc()); - updateHRI(masterServices.getCatalogTracker(), false, hrfm); - return true; - } - }; + MigratingVisitor v = new MigratingVisitor(masterServices); MetaReader.fullScan(masterServices.getCatalogTracker(), v); - MetaMigrationRemovingHTD.updateRootWithMetaMigrationStatus(masterServices.getCatalogTracker(), true); - return htds; + updateRootWithMetaMigrationStatus(masterServices.getCatalogTracker()); + return v.htds; } /** @@ -81,25 +65,114 @@ public class MetaMigrationRemovingHTD { * @return List of table descriptors * @throws IOException */ - public static List updateRootWithNewRegionInfo( + static Set updateRootWithNewRegionInfo( final MasterServices masterServices) throws IOException { - final List htds = new ArrayList(); - Visitor v = new Visitor() { - @Override - public boolean visit(Result r) throws IOException { - if (r == null || r.isEmpty()) return true; - HRegionInfo090x hrfm = MetaMigrationRemovingHTD.getHRegionInfoForMigration(r); - if (hrfm == null) return true; - htds.add(hrfm.getTableDesc()); - masterServices.getMasterFileSystem().createTableDescriptor( - hrfm.getTableDesc()); - updateHRI(masterServices.getCatalogTracker(), true, hrfm); + MigratingVisitor v = new MigratingVisitor(masterServices); + MetaReader.fullScan(masterServices.getCatalogTracker(), v, null, true); + return v.htds; + } + + /** + * Meta visitor that migrates the info:regioninfo as it visits. + */ + static class MigratingVisitor implements Visitor { + private final MasterServices services; + final Set htds = new HashSet(); + + MigratingVisitor(final MasterServices services) { + this.services = services; + } + + @Override + public boolean visit(Result r) throws IOException { + if (r == null || r.isEmpty()) return true; + // Check info:regioninfo, info:splitA, and info:splitB. Make sure all + // have migrated HRegionInfos... that there are no leftover 090 version + // HRegionInfos. + byte [] hriBytes = getBytes(r, HConstants.REGIONINFO_QUALIFIER); + // Presumes that an edit updating all three cells either succeeds or + // doesn't -- that we don't have case of info:regioninfo migrated but not + // info:splitA. + if (isMigrated(hriBytes)) return true; + // OK. Need to migrate this row in meta. + HRegionInfo090x hri090 = getHRegionInfo090x(hriBytes); + HTableDescriptor htd = hri090.getTableDesc(); + if (htd == null) { + LOG.warn("A 090 HRI has null HTD? Continuing; " + hri090.toString()); return true; } - }; - MetaReader.fullScan(masterServices.getCatalogTracker(), v, null, true); - return htds; + if (!this.htds.contains(htd)) { + // If first time we are adding a table, then write it out to fs. + // Presumes that first region in table has THE table's schema which + // might not be too bad of a presumption since it'll be first region + // 'altered' + this.services.getMasterFileSystem().createTableDescriptor(htd); + this.htds.add(htd); + } + // This will 'migrate' the hregioninfo from 090 version to 092. + HRegionInfo hri = new HRegionInfo(hri090); + // Now make a put to write back to meta. + Put p = new Put(hri.getRegionName()); + p.add(HConstants.CATALOG_FAMILY, HConstants.REGIONINFO_QUALIFIER, + Writables.getBytes(hri)); + // Now check info:splitA and info:splitB if present. Migrate these too. + checkSplit(r, p, HConstants.SPLITA_QUALIFIER); + checkSplit(r, p, HConstants.SPLITB_QUALIFIER); + // Below we fake out putToCatalogTable + MetaEditor.putToCatalogTable(this.services.getCatalogTracker(), p); + LOG.info("Migrated " + Bytes.toString(p.getRow())); + return true; + } + } + + static void checkSplit(final Result r, final Put p, final byte [] which) + throws IOException { + byte [] hriSplitBytes = getBytes(r, which); + if (!isMigrated(hriSplitBytes)) { + // This will convert the HRI from 090 to 092 HRI. + HRegionInfo hri = Writables.getHRegionInfo(hriSplitBytes); + p.add(HConstants.CATALOG_FAMILY, which, Writables.getBytes(hri)); + } + } + + /** + * @param r Result to dig in. + * @param qualifier Qualifier to look at in the passed r. + * @return Bytes for an HRegionInfo or null if no bytes or empty bytes found. + */ + static byte [] getBytes(final Result r, final byte [] qualifier) { + byte [] hriBytes = r.getValue(HConstants.CATALOG_FAMILY, qualifier); + if (hriBytes == null || hriBytes.length <= 0) return null; + return hriBytes; + } + + /** + * @param r Result to look in. + * @param qualifier What to look at in the passed result. + * @return Either a 090 vintage HRegionInfo OR null if no HRegionInfo or + * the HRegionInfo is up to date and not in need of migration. + * @throws IOException + */ + static HRegionInfo090x get090HRI(final Result r, final byte [] qualifier) + throws IOException { + byte [] hriBytes = r.getValue(HConstants.CATALOG_FAMILY, qualifier); + if (hriBytes == null || hriBytes.length <= 0) return null; + if (isMigrated(hriBytes)) return null; + return getHRegionInfo090x(hriBytes); + } + + static boolean isMigrated(final byte [] hriBytes) { + if (hriBytes == null || hriBytes.length <= 0) return true; + // Else, what version this HRegionInfo instance is at. The first byte + // is the version byte in a serialized HRegionInfo. If its same as our + // current HRI, then nothing to do. + if (hriBytes[0] == HRegionInfo.VERSION) return true; + if (hriBytes[0] == HRegionInfo.VERSION_PRE_092) return false; + // Unknown version. Return true that its 'migrated' but log warning. + // Should 'never' happen. + assert false: "Unexpected version; bytes=" + Bytes.toStringBinary(hriBytes); + return true; } /** @@ -115,82 +188,20 @@ public class MetaMigrationRemovingHTD { } /** - * Update the metamigrated flag in -ROOT-. + * Update the version flag in -ROOT-. * @param catalogTracker - * @param metaUpdated * @throws IOException */ - public static void updateRootWithMetaMigrationStatus( - CatalogTracker catalogTracker, boolean metaUpdated) + public static void updateRootWithMetaMigrationStatus(final CatalogTracker catalogTracker) throws IOException { - Put p = new Put(HRegionInfo.ROOT_REGIONINFO.getRegionName()); - MetaMigrationRemovingHTD.addMetaUpdateStatus(p, metaUpdated); - MetaEditor.putToRootTable(catalogTracker, p); - LOG.info("Updated -ROOT- row with metaMigrated status = " + metaUpdated); + Put p = new Put(HRegionInfo.FIRST_META_REGIONINFO.getRegionName()); + MetaEditor.putToRootTable(catalogTracker, setMetaVersion(p)); + LOG.info("Updated -ROOT- meta version=" + HConstants.META_VERSION); } - static void updateHRI(final CatalogTracker ct, final boolean rootTable, - final HRegionInfo090x hRegionInfo090x) - throws IOException { - HRegionInfo regionInfo = new HRegionInfo(hRegionInfo090x); - Put p = new Put(regionInfo.getRegionName()); - p.add(HConstants.CATALOG_FAMILY, HConstants.REGIONINFO_QUALIFIER, - Writables.getBytes(regionInfo)); - if (rootTable) { - MetaEditor.putToRootTable(ct, p); - } else { - MetaEditor.putToMetaTable(ct, p); - } - LOG.info("Updated region " + regionInfo + " to " + - (rootTable? "-ROOT-": ".META.")); - } - - /** - * @deprecated Going away in 0.94; used for migrating to 0.92 only. - */ - public static HRegionInfo090x getHRegionInfoForMigration( - Result data) throws IOException { - HRegionInfo090x info = null; - byte [] bytes = - data.getValue(HConstants.CATALOG_FAMILY, HConstants.REGIONINFO_QUALIFIER); - if (bytes == null) return null; - try { - info = Writables.getHRegionInfoForMigration(bytes); - } catch(IOException ioe) { - if (ioe.getMessage().equalsIgnoreCase("HTD not found in input buffer")) { - return null; - } else { - throw ioe; - } - } - LOG.info("Current INFO from scan results = " + info); - return info; - } - - public static List fullScanMetaAndPrintHRIM( - CatalogTracker catalogTracker) - throws IOException { - final List regions = - new ArrayList(); - Visitor v = new Visitor() { - @Override - public boolean visit(Result r) throws IOException { - if (r == null || r.isEmpty()) return true; - LOG.info("fullScanMetaAndPrint1.Current Meta Result: " + r); - HRegionInfo090x hrim = getHRegionInfoForMigration(r); - LOG.info("fullScanMetaAndPrint.HRIM Print= " + hrim); - regions.add(hrim); - return true; - } - }; - MetaReader.fullScan(catalogTracker, v); - return regions; - } - - static Put addMetaUpdateStatus(final Put p, final boolean metaUpdated) { - p.add(HConstants.CATALOG_FAMILY, - MetaMigrationRemovingHTD.META_MIGRATION_QUALIFIER, - Bytes.toBytes(metaUpdated)); + static Put setMetaVersion(final Put p) { + p.add(HConstants.CATALOG_FAMILY, HConstants.META_VERSION_QUALIFIER, + Bytes.toBytes(HConstants.META_VERSION)); return p; } @@ -201,22 +212,27 @@ public class MetaMigrationRemovingHTD { // Public because used in tests public static boolean isMetaHRIUpdated(final MasterServices services) throws IOException { - boolean metaUpdated = false; - List results = - MetaReader.fullScanOfRoot(services.getCatalogTracker()); + List results = MetaReader.fullScanOfRoot(services.getCatalogTracker()); if (results == null || results.isEmpty()) { - LOG.info("metaUpdated = NULL."); - return metaUpdated; + LOG.info("Not migrated"); + return false; } - // Presume only the one result. + // Presume only the one result because we only support on meta region. Result r = results.get(0); - byte [] metaMigrated = r.getValue(HConstants.CATALOG_FAMILY, - MetaMigrationRemovingHTD.META_MIGRATION_QUALIFIER); - if (metaMigrated != null && metaMigrated.length > 0) { - metaUpdated = Bytes.toBoolean(metaMigrated); - } - LOG.info("Meta updated status = " + metaUpdated); - return metaUpdated; + short version = getMetaVersion(r); + boolean migrated = version >= HConstants.META_VERSION; + LOG.info("Meta version=" + version + "; migrated=" + migrated); + return migrated; + } + + /** + * @param r Result to look at + * @return Current meta table version or -1 if no version found. + */ + static short getMetaVersion(final Result r) { + byte [] value = r.getValue(HConstants.CATALOG_FAMILY, + HConstants.META_VERSION_QUALIFIER); + return value == null || value.length <= 0? -1: Bytes.toShort(value); } /** @@ -239,4 +255,21 @@ public class MetaMigrationRemovingHTD { "Master startup aborted."); } } + + /** + * Get HREgionInfoForMigration serialized from bytes. + * @param bytes serialized bytes + * @return An instance of a 090 HRI or null if we failed deserialize + */ + public static HRegionInfo090x getHRegionInfo090x(final byte [] bytes) { + if (bytes == null || bytes.length == 0) return null; + HRegionInfo090x hri = null; + try { + hri = (HRegionInfo090x)Writables.getWritable(bytes, new HRegionInfo090x()); + } catch (IOException ioe) { + LOG.warn("Failed deserialize as a 090 HRegionInfo); bytes=" + + Bytes.toStringBinary(bytes), ioe); + } + return hri; + } } diff --git a/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java b/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java index 60f87c46d45..c7c918c25bc 100644 --- a/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java +++ b/src/main/java/org/apache/hadoop/hbase/catalog/MetaReader.java @@ -63,17 +63,17 @@ public class MetaReader { } /** - * @param regionName - * @return True if regionName is from .META. table. + * @param row + * @return True if row is row of -ROOT- table. */ - private static boolean isMetaRegion(final byte [] regionName) { - if (regionName.length < META_REGION_PREFIX.length + 2 /* ',', + '1' */) { + private static boolean isRootTableRow(final byte [] row) { + if (row.length < META_REGION_PREFIX.length + 2 /* ',', + '1' */) { // Can't be meta table region. return false; } - // Compare the prefix of regionName. If it matches META_REGION_PREFIX prefix, - // then this is region from .META. table. - return Bytes.equals(regionName, 0, META_REGION_PREFIX.length, + // Compare the prefix of row. If it matches META_REGION_PREFIX prefix, + // then this is row from -ROOT_ table. + return Bytes.equals(row, 0, META_REGION_PREFIX.length, META_REGION_PREFIX, 0, META_REGION_PREFIX.length); } @@ -199,14 +199,14 @@ public class MetaReader { /** * Callers should call close on the returned {@link HTable} instance. * @param catalogTracker - * @param regionName + * @param row Row we are putting * @return * @throws IOException */ static HTable getCatalogHTable(final CatalogTracker catalogTracker, - final byte [] regionName) + final byte [] row) throws IOException { - return isMetaRegion(regionName)? + return isRootTableRow(row)? getRootHTable(catalogTracker): getMetaHTable(catalogTracker); } diff --git a/src/main/java/org/apache/hadoop/hbase/master/MasterFileSystem.java b/src/main/java/org/apache/hadoop/hbase/master/MasterFileSystem.java index c952311c125..752037d488c 100644 --- a/src/main/java/org/apache/hadoop/hbase/master/MasterFileSystem.java +++ b/src/main/java/org/apache/hadoop/hbase/master/MasterFileSystem.java @@ -409,17 +409,6 @@ public class MasterFileSystem { } } - /** - * Get table info path for a table. - * @param tableName - * @return Table info path - */ - private Path getTableInfoPath(byte[] tableName) { - Path tablePath = new Path(this.rootdir, Bytes.toString(tableName)); - Path tableInfoPath = new Path(tablePath, HConstants.TABLEINFO_NAME); - return tableInfoPath; - } - /** * Create new HTableDescriptor in HDFS. * diff --git a/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java b/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java index 5243b58a2cd..c9d65a2c07c 100644 --- a/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java +++ b/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java @@ -3125,16 +3125,15 @@ public class HRegion implements HeapSize { // , Writable{ byte[] row = r.getRegionName(); Integer lid = meta.obtainRowLock(row); try { - final List edits = new ArrayList(1); + final long now = EnvironmentEdgeManager.currentTimeMillis(); + final List edits = new ArrayList(2); edits.add(new KeyValue(row, HConstants.CATALOG_FAMILY, - HConstants.REGIONINFO_QUALIFIER, - EnvironmentEdgeManager.currentTimeMillis(), - Writables.getBytes(r.getRegionInfo()))); + HConstants.REGIONINFO_QUALIFIER, now, + Writables.getBytes(r.getRegionInfo()))); + // Set into the root table the version of the meta table. edits.add(new KeyValue(row, HConstants.CATALOG_FAMILY, - org.apache.hadoop.hbase.catalog.MetaMigrationRemovingHTD.META_MIGRATION_QUALIFIER, - EnvironmentEdgeManager.currentTimeMillis(), - Bytes.toBytes(true))); - + HConstants.META_VERSION_QUALIFIER, now, + Bytes.toBytes(HConstants.META_VERSION))); meta.put(HConstants.CATALOG_FAMILY, edits); } finally { meta.releaseRowLock(lid); diff --git a/src/main/java/org/apache/hadoop/hbase/util/Writables.java b/src/main/java/org/apache/hadoop/hbase/util/Writables.java index f595af5c3cc..1719e842368 100644 --- a/src/main/java/org/apache/hadoop/hbase/util/Writables.java +++ b/src/main/java/org/apache/hadoop/hbase/util/Writables.java @@ -216,16 +216,4 @@ public class Writables { } return tgt; } - - /** - * Get HREgionInfoForMigration serialized from bytes. - * @param bytes serialized bytes - * @return HRegionInfoForMigration - * @throws IOException - */ - public static HRegionInfo090x getHRegionInfoForMigration(final byte [] bytes) - throws IOException { - return (HRegionInfo090x)getWritable(bytes, new HRegionInfo090x()); - } - } \ No newline at end of file diff --git a/src/test/data/hbase-4388-root.dir.tgz b/src/test/data/hbase-4388-root.dir.tgz new file mode 100644 index 0000000000000000000000000000000000000000..da2244e8097d3fd3b0cb04d49cbc615406f7e809 GIT binary patch literal 245058 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๝kR!j|9uvVJ7yOR6Q04rrz{F-eF|TEanS#3n>HG_reJy|Lq)%6K zQPRdL-MUthQjRKn__yxBgL(f)=|fe;?d5NV4pWEy)EOpI^kZb-e31f`PCXI=r`xJL zF<Nsw@4&{FmOAATC_!I?z}sSlrn@ICrh0 z2cUu3xNq09WjhMMAj`af3vULVgl#!wM1lV9fg52|HF6ygF*M|PjA?R8(Dy%gEC}Sa zRRJQ+{DezW(DDa=|LUg znSkjnH>iRr@#NXxhn3J*!Pr$ZggU@gJO2%k`>W2a+d^-YgOipqW{z53i&7OR%7oz4 zmG)ZI%=Y=SRZj;}&}QL6)u3OIr-Z$-ZY>4*BiGkz9|)eaM!0k7gGkL|(Q$U8wh;*j zDdlNUFpr<{3a~^XK6}2@t>3VL8J@v!m{^+S; zr#&`#c*G$qB6ei6AKTO4VNY6XX4+{P%YN)?7_Y#>%}@|kU= zmc*L5e4G&Gq`uCDHMqDFr_zHbjJ2%3Rbv7PbYt;0*ar!{b%AL-zee*wU|FERj$MrG z>k!S(=7Mr6b*q&Oqf5CBft45N?n3Ebc3$bhA=d+u*Se&RB6P<>Y+n}B!42gcwFEwi z(#zC=`ncHE&x~5P-rI0zPO%&7)?evLZDp}dwG=J^AVerW;C#BdejHK+WAnIH!U8_T z=pkn@vpLC-138ppl>Cg5?T(}ClS@T@&{Mkh*M_bXj*cS|@KFo!pDaoJ{jIVIZ2o!O z^~L7veMgvH}{EH$M!qOWKO$8mxCRDyc}?63A)2*Q6Y!F@-T03_yWWrHO{1{ zHjH1cc%9rCCDn(PK3XNZZS!E3w*wOk% zo;!Z>k-dKpbBz7P+nqSj>3{sa^a1?g^Yi^@_ko}52>Af<7{L64!P%bE`~Hs)0^xqM z|J8lrS3b|*Us8X>U4Pjw|LWaB$-%F99acaqdKk$`KR)#`(671gheN#x@VAe8hW{xb z<$L^R55Q`7?4Jn;41LL;_x}-j%&!6Xr~Ws+$e#y%i#+b-1EhjRACgX;NWS)b{{UtL zH~^b3fc_!Cz|7pEz$f9xFE}(n7XYaEUM2$=7$yM#YoGUkZybQn8e|+`@bkW24-wGZ z{!@N+02ukU_y8Cj`5PLW8-Jbs00c+?lb-;M4?<0>41gBEU-VaFB|k1RGdVRlI5syi zIWRXjG&wZ+$>0VYVDTkD(FSPzt%;$V0rUXAB#!&<03q}Am$4XvRd1!>l8Zd9-1@CO zw5&N-hB_VRMoA8`(GpH;e!O|VP@cEn6!ve0JAG19Q4b~jv|_uIJv!e4*W4-QP(q(WN(XB{TSE$8@?|b;(zU|R@@LOV|_P)6yjwK85qGS%x9mZGi z6|E%)=TxdM#I;oF^Ah#YaspRee@-bgtbkgDJs_4x==OEeyMm~^VrvTMyn8nOuGv-W z%XhZE^dWf;@F|=m=GlC4X-Xh;K}XKP+{?W3G6eh?x5(cf=NWR(7QvjUxfmt-;ntF5 zVl^Cf0O`cXwlK9R9NUZ)pqh_74d4Mc8~YJrQA;#LNotkB?_Ue}^OxqVvo?2lK^#|; zg{q50?<4VFr56>lxv`yF(rpLi3U)bw&n~~9^*QFqyuKQ#y>ME(Ln%rxA=;9584r=L zHSS3*Xk=JK?3L&!1NX-&xJGKq-{?x(>8BBvj=>Le?a5$08r)=xX6sL$bbB&ReygrJ z&(f|cttKt%gnW>r5poKD__)s8V*~5p6*cUg;-PI!143(?vxT~OLh9XL-8#}6EP2D zC{!T3#hMUZ(|q)jj3KKLrHFl)p{(Nk8?=J>&a4$&9LKm6!Z6(lbX7g6lxC&c+;y0; zfaM|G)Rc!q&MELuT-CeV=(@)93t5PD)&pol^7%-~ykHH1vJzbMqDRamB2G9re_5|d z&_KC9#&V6{!o}oMu4zEAF(jz^K@&Yg8_{2(n5)EbR$@6FC|n5We2Cj7g^rB+jONEI z44ZScMKRg$RZt?kF5Ir`^+r5l2iQo#ge3amEFqyWR!q2mcE!DDwc9BIWXKcfQG@me zAs~_ckH-Ec+>cx(tz3^0&=~EXRLU*%OEi&3bymh=93T1v_oQ@qf@M^LQxMn zAT8{NNX7|Gz&|B_xqZn%S%`Tzw+`*=?t%Gh-ky4yxH1G+M&V3mTm+-dO7JP*_YVAj zg@gOw3HA8~(?4GxhSP;)yan?aM0#qbX9D)CH%Mm41*uPuXO1G_c4Tsn*DeVBoNmBT+!+##~zC@PQw08#-(>t4n4A4~;j%0AnF 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

5cE;z3_Y>CUTz1c(l6zyAGW$K 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 )gBQ)Yv@vvRK9;>zW&YGcCtV>CS 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 literal 0 HcmV?d00001 diff --git a/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java b/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java index f5d4f125848..c5214c7157c 100644 --- a/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java +++ b/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java @@ -53,14 +53,13 @@ import org.apache.hadoop.hbase.client.ResultScanner; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.io.hfile.Compression; import org.apache.hadoop.hbase.master.HMaster; -import org.apache.hadoop.hbase.migration.HRegionInfo090x; import org.apache.hadoop.hbase.regionserver.HRegion; import org.apache.hadoop.hbase.regionserver.HRegionServer; import org.apache.hadoop.hbase.regionserver.InternalScanner; import org.apache.hadoop.hbase.regionserver.ReadWriteConsistencyControl; import org.apache.hadoop.hbase.regionserver.Store; -import org.apache.hadoop.hbase.security.User; import org.apache.hadoop.hbase.regionserver.StoreFile; +import org.apache.hadoop.hbase.security.User; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.FSUtils; import org.apache.hadoop.hbase.util.Threads; @@ -1038,97 +1037,6 @@ public class HBaseTestingUtility { return count; } - public int createMultiRegionsWithLegacyHRI(final Configuration c, - final HTableDescriptor htd, - final byte [] family, int numRegions) - throws IOException { - if (numRegions < 3) throw new IOException("Must create at least 3 regions"); - byte [] startKey = Bytes.toBytes("aaaaa"); - byte [] endKey = Bytes.toBytes("zzzzz"); - byte [][] splitKeys = Bytes.split(startKey, endKey, numRegions - 3); - byte [][] regionStartKeys = new byte[splitKeys.length+1][]; - for (int i=0;i newRegions - = new ArrayList(startKeys.length); - int count = 0; - for (int i = 0; i < startKeys.length; i++) { - int j = (i + 1) % startKeys.length; - HRegionInfo090x hri = new HRegionInfo090x(htd, - startKeys[i], startKeys[j]); - Put put = new Put(hri.getRegionName()); - put.add(HConstants.CATALOG_FAMILY, HConstants.REGIONINFO_QUALIFIER, - Writables.getBytes(hri)); - meta.put(put); - LOG.info("createMultiRegions: PUT inserted " + hri.toString()); - - newRegions.add(hri); - count++; - } - return count; - - } - - public int createMultiRegionsWithNewHRI(final Configuration c, - final HTableDescriptor htd, - final byte [] family, int numRegions) - throws IOException { - if (numRegions < 3) throw new IOException("Must create at least 3 regions"); - byte [] startKey = Bytes.toBytes("aaaaa"); - byte [] endKey = Bytes.toBytes("zzzzz"); - byte [][] splitKeys = Bytes.split(startKey, endKey, numRegions - 3); - byte [][] regionStartKeys = new byte[splitKeys.length+1][]; - for (int i=0;i newRegions - = new ArrayList(startKeys.length); - int count = 0; - for (int i = 0; i < startKeys.length; i++) { - int j = (i + 1) % startKeys.length; - HRegionInfo hri = new HRegionInfo(htd.getName(), - startKeys[i], startKeys[j]); - Put put = new Put(hri.getRegionName()); - put.add(HConstants.CATALOG_FAMILY, HConstants.REGIONINFO_QUALIFIER, - Writables.getBytes(hri)); - meta.put(put); - LOG.info("createMultiRegions: PUT inserted " + hri.toString()); - - newRegions.add(hri); - count++; - } - return count; - - } - /** * Create rows in META for regions of the specified table with the specified * start keys. The first startKey should be a 0 length byte array if you diff --git a/src/test/java/org/apache/hadoop/hbase/client/TestMetaMigration.java b/src/test/java/org/apache/hadoop/hbase/client/TestMetaMigration.java deleted file mode 100644 index 6cbf88c22fd..00000000000 --- a/src/test/java/org/apache/hadoop/hbase/client/TestMetaMigration.java +++ /dev/null @@ -1,178 +0,0 @@ -/** - * Copyright 2010 The Apache Software Foundation - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.hadoop.hbase.client; - -import junit.framework.AssertionFailedError; -import org.apache.hadoop.hbase.catalog.CatalogTracker; -import org.apache.hadoop.hbase.migration.HRegionInfo090x; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.apache.hadoop.conf.Configuration; -import org.apache.hadoop.hbase.*; - -import org.apache.hadoop.hbase.catalog.MetaMigrationRemovingHTD; -import org.apache.hadoop.hbase.catalog.MetaReader; -import org.apache.hadoop.hbase.util.Bytes; -import org.apache.hadoop.hbase.HTableDescriptor; -import org.junit.AfterClass; -import org.junit.BeforeClass; -import org.junit.Test; -import org.apache.hadoop.hbase.util.Writables; - -import java.util.List; - -public class TestMetaMigration { - final Log LOG = LogFactory.getLog(getClass()); - private final static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility(); - private static MiniHBaseCluster miniHBaseCluster = null; - - @BeforeClass - public static void setUpBeforeClass() throws Exception { - miniHBaseCluster = TEST_UTIL.startMiniCluster(1); - } - - /** - * @throws java.lang.Exception - */ - @AfterClass - public static void tearDownAfterClass() throws Exception { - TEST_UTIL.shutdownMiniCluster(); - } - - @Test - public void testHRegionInfoForMigration() throws Exception { - LOG.info("Starting testHRegionInfoForMigration"); - HTableDescriptor htd = new HTableDescriptor("testMetaMigration"); - htd.addFamily(new HColumnDescriptor("family")); - HRegionInfo090x hrim = new HRegionInfo090x(htd, HConstants.EMPTY_START_ROW, - HConstants.EMPTY_END_ROW); - LOG.info("INFO 1 = " + hrim); - byte[] bytes = Writables.getBytes(hrim); - LOG.info(" BYtes.toString = " + Bytes.toString(bytes)); - LOG.info(" HTD bytes = " + Bytes.toString(Writables.getBytes(hrim.getTableDesc()))); - HRegionInfo090x info = Writables.getHRegionInfoForMigration(bytes); - LOG.info("info = " + info); - LOG.info("END testHRegionInfoForMigration"); - - } - - @Test - public void testMetaUpdatedFlagInROOT() throws Exception { - LOG.info("Starting testMetaUpdatedFlagInROOT"); - boolean metaUpdated = - MetaMigrationRemovingHTD.isMetaHRIUpdated(miniHBaseCluster.getMaster()); - assertEquals(true, metaUpdated); - LOG.info("END testMetaUpdatedFlagInROOT"); - } - - @Test - public void testMetaMigration() throws Exception { - LOG.info("Starting testMetaWithLegacyHRI"); - final byte[] FAMILY = Bytes.toBytes("family"); - HTableDescriptor htd = new HTableDescriptor("testMetaMigration"); - HColumnDescriptor hcd = new HColumnDescriptor(FAMILY); - htd.addFamily(hcd); - Configuration conf = TEST_UTIL.getConfiguration(); - TEST_UTIL.createMultiRegionsWithLegacyHRI(conf, htd, FAMILY, - new byte[][]{ - HConstants.EMPTY_START_ROW, - Bytes.toBytes("region_a"), - Bytes.toBytes("region_b")}); - CatalogTracker ct = miniHBaseCluster.getMaster().getCatalogTracker(); - // just for this test set it to false. - MetaMigrationRemovingHTD.updateRootWithMetaMigrationStatus(ct, false); - MetaReader.fullScanMetaAndPrint(ct); - LOG.info("Meta Print completed.testUpdatesOnMetaWithLegacyHRI"); - - List htds = MetaMigrationRemovingHTD.updateMetaWithNewRegionInfo( - TEST_UTIL.getHBaseCluster().getMaster()); - MetaReader.fullScanMetaAndPrint(ct); - assertEquals(3, htds.size()); - // Assert that the flag in ROOT is updated to reflect the correct status - boolean metaUpdated = - MetaMigrationRemovingHTD.isMetaHRIUpdated(miniHBaseCluster.getMaster()); - assertEquals(true, metaUpdated); - LOG.info("END testMetaWithLegacyHRI"); - - } - - /** - * This test assumes a master crash/failure during the meta migration process - * and attempts to continue the meta migration process when a new master takes over. - * When a master dies during the meta migration we will have some rows of - * META.CatalogFamily updated with new HRI, (i.e HRI with out HTD) and some - * still hanging with legacy HRI. (i.e HRI with HTD). When the backup master/ or - * fresh start of master attempts the migration it will encouter some rows of META - * already updated with new HRI and some still legacy. This test will simulate this - * scenario and validates that the migration process can safely skip the updated - * rows and migrate any pending rows at startup. - * @throws Exception - */ - @Test - public void testMasterCrashDuringMetaMigration() throws Exception { - LOG.info("Starting testMasterCrashDuringMetaMigration"); - final byte[] FAMILY = Bytes.toBytes("family"); - HTableDescriptor htd = new HTableDescriptor("testMasterCrashDuringMetaMigration"); - HColumnDescriptor hcd = new HColumnDescriptor(FAMILY); - htd.addFamily(hcd); - Configuration conf = TEST_UTIL.getConfiguration(); - // Create 10 New regions. - TEST_UTIL.createMultiRegionsWithNewHRI(conf, htd, FAMILY, 10); - // Create 10 Legacy regions. - TEST_UTIL.createMultiRegionsWithLegacyHRI(conf, htd, FAMILY, 10); - CatalogTracker ct = miniHBaseCluster.getMaster().getCatalogTracker(); - // just for this test set it to false. - MetaMigrationRemovingHTD.updateRootWithMetaMigrationStatus(ct, false); - //MetaReader.fullScanMetaAndPrint(ct); - LOG.info("MEta Print completed.testUpdatesOnMetaWithLegacyHRI"); - - List htds = MetaMigrationRemovingHTD.updateMetaWithNewRegionInfo( - TEST_UTIL.getHBaseCluster().getMaster()); - assertEquals(10, htds.size()); - // Assert that the flag in ROOT is updated to reflect the correct status - boolean metaUpdated = - MetaMigrationRemovingHTD.isMetaHRIUpdated(miniHBaseCluster.getMaster()); - assertEquals(true, metaUpdated); - LOG.info("END testMetaWithLegacyHRI"); - - } - - public static void assertEquals(int expected, - int actual) { - if (expected != actual) { - throw new AssertionFailedError("expected:<" + - expected + "> but was:<" + - actual + ">"); - } - } - - public static void assertEquals(boolean expected, - boolean actual) { - if (expected != actual) { - throw new AssertionFailedError("expected:<" + - expected + "> but was:<" + - actual + ">"); - } - } - - - -} diff --git a/src/test/java/org/apache/hadoop/hbase/client/TestMetaMigrationRemovingHTD.java b/src/test/java/org/apache/hadoop/hbase/client/TestMetaMigrationRemovingHTD.java new file mode 100644 index 00000000000..dca791b4589 --- /dev/null +++ b/src/test/java/org/apache/hadoop/hbase/client/TestMetaMigrationRemovingHTD.java @@ -0,0 +1,354 @@ +/** + * Copyright 2010 The Apache Software Foundation + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.hbase.client; + +import static org.junit.Assert.*; + +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Set; + +import junit.framework.Assert; +import junit.framework.AssertionFailedError; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.FileUtil; +import org.apache.hadoop.fs.FsShell; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.hbase.HBaseTestingUtility; +import org.apache.hadoop.hbase.HColumnDescriptor; +import org.apache.hadoop.hbase.HConstants; +import org.apache.hadoop.hbase.HRegionInfo; +import org.apache.hadoop.hbase.HTableDescriptor; +import org.apache.hadoop.hbase.catalog.CatalogTracker; +import org.apache.hadoop.hbase.catalog.MetaMigrationRemovingHTD; +import org.apache.hadoop.hbase.catalog.MetaReader; +import org.apache.hadoop.hbase.migration.HRegionInfo090x; +import org.apache.hadoop.hbase.util.Bytes; +import org.apache.hadoop.hbase.util.Writables; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; + +/** + * Test migration that removes HTableDescriptor from HRegionInfo moving the + * meta version from no version to {@link MetaReader#META_VERSION}. + */ +public class TestMetaMigrationRemovingHTD { + static final Log LOG = LogFactory.getLog(TestMetaMigrationRemovingHTD.class); + private final static HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility(); + private final static String TESTTABLE = "TestTable"; + private final static int ROWCOUNT = 100; + + @BeforeClass + public static void setUpBeforeClass() throws Exception { + // Start up our mini cluster on top of an 0.90 root.dir that has data from + // a 0.90 hbase run -- it has a table with 100 rows in it -- and see if + // we can migrate from 0.90. + TEST_UTIL.startMiniZKCluster(); + TEST_UTIL.startMiniDFSCluster(1); + Path testdir = TEST_UTIL.getDataTestDir("TestMetaMigrationRemovingHTD"); + // Untar our test dir. + File untar = untar(new File(testdir.toString())); + // Now copy the untar up into hdfs so when we start hbase, we'll run from it. + Configuration conf = TEST_UTIL.getConfiguration(); + FsShell shell = new FsShell(conf); + FileSystem fs = FileSystem.get(conf); + // Minihbase roots itself in user home directory up in minidfs. + Path homedir = fs.getHomeDirectory(); + doFsCommand(shell, + new String [] {"-put", untar.toURI().toString(), homedir.toString()}); + // See whats in minihdfs. + doFsCommand(shell, new String [] {"-lsr", "/"}); + TEST_UTIL.startMiniHBaseCluster(1, 1); + // Assert we are running against the copied-up filesystem. The copied-up + // rootdir should have had a table named 'TestTable' in it. Assert it + // present. + HTable t = new HTable(TEST_UTIL.getConfiguration(), TESTTABLE); + ResultScanner scanner = t.getScanner(new Scan()); + int count = 0; + while (scanner.next() != null) { + count++; + } + // Assert that we find all 100 rows that are in the data we loaded. If + // so then we must have migrated it from 0.90 to 0.92. + Assert.assertEquals(ROWCOUNT, count); + } + + private static File untar(final File testdir) throws IOException { + // Find the src data under src/test/data + final String datafile = "hbase-4388-root.dir"; + String srcTarFile = + System.getProperty("project.build.testSourceDirectory", "src/test") + + File.separator + "data" + File.separator + datafile + ".tgz"; + File homedir = new File(testdir.toString()); + File tgtUntarDir = new File(homedir, datafile); + if (tgtUntarDir.exists()) { + if (!FileUtil.fullyDelete(tgtUntarDir)) { + throw new IOException("Failed delete of " + tgtUntarDir.toString()); + } + } + LOG.info("Untarring " + srcTarFile + " into " + homedir.toString()); + FileUtil.unTar(new File(srcTarFile), homedir); + Assert.assertTrue(tgtUntarDir.exists()); + return tgtUntarDir; + } + + private static void doFsCommand(final FsShell shell, final String [] args) + throws Exception { + // Run the 'put' command. + int errcode = shell.run(args); + if (errcode != 0) throw new IOException("Failed put; errcode=" + errcode); + } + + /** + * @throws java.lang.Exception + */ + @AfterClass + public static void tearDownAfterClass() throws Exception { + TEST_UTIL.shutdownMiniCluster(); + } + + @Test + public void testMetaUpdatedFlagInROOT() throws Exception { + boolean metaUpdated = MetaMigrationRemovingHTD. + isMetaHRIUpdated(TEST_UTIL.getMiniHBaseCluster().getMaster()); + assertEquals(true, metaUpdated); + } + + @Test + public void testMetaMigration() throws Exception { + LOG.info("Starting testMetaWithLegacyHRI"); + final byte [] FAMILY = Bytes.toBytes("family"); + HTableDescriptor htd = new HTableDescriptor("testMetaMigration"); + HColumnDescriptor hcd = new HColumnDescriptor(FAMILY); + htd.addFamily(hcd); + Configuration conf = TEST_UTIL.getConfiguration(); + createMultiRegionsWithLegacyHRI(conf, htd, FAMILY, + new byte[][]{ + HConstants.EMPTY_START_ROW, + Bytes.toBytes("region_a"), + Bytes.toBytes("region_b")}); + CatalogTracker ct = + TEST_UTIL.getMiniHBaseCluster().getMaster().getCatalogTracker(); + // Erase the current version of root meta for this test. + undoVersionInMeta(); + MetaReader.fullScanMetaAndPrint(ct); + LOG.info("Meta Print completed.testUpdatesOnMetaWithLegacyHRI"); + + Set htds = + MetaMigrationRemovingHTD.updateMetaWithNewRegionInfo( + TEST_UTIL.getHBaseCluster().getMaster()); + MetaReader.fullScanMetaAndPrint(ct); + // Should be one entry only and it should be for the table we just added. + assertEquals(1, htds.size()); + assertTrue(htds.contains(htd)); + // Assert that the flag in ROOT is updated to reflect the correct status + boolean metaUpdated = + MetaMigrationRemovingHTD.isMetaHRIUpdated( + TEST_UTIL.getMiniHBaseCluster().getMaster()); + assertEquals(true, metaUpdated); + } + + /** + * This test assumes a master crash/failure during the meta migration process + * and attempts to continue the meta migration process when a new master takes over. + * When a master dies during the meta migration we will have some rows of + * META.CatalogFamily updated with new HRI, (i.e HRI with out HTD) and some + * still hanging with legacy HRI. (i.e HRI with HTD). When the backup master/ or + * fresh start of master attempts the migration it will encouter some rows of META + * already updated with new HRI and some still legacy. This test will simulate this + * scenario and validates that the migration process can safely skip the updated + * rows and migrate any pending rows at startup. + * @throws Exception + */ + @Test + public void testMasterCrashDuringMetaMigration() throws Exception { + final byte[] FAMILY = Bytes.toBytes("family"); + HTableDescriptor htd = new HTableDescriptor("testMasterCrashDuringMetaMigration"); + HColumnDescriptor hcd = new HColumnDescriptor(FAMILY); + htd.addFamily(hcd); + Configuration conf = TEST_UTIL.getConfiguration(); + // Create 10 New regions. + createMultiRegionsWithNewHRI(conf, htd, FAMILY, 10); + // Create 10 Legacy regions. + createMultiRegionsWithLegacyHRI(conf, htd, FAMILY, 10); + CatalogTracker ct = + TEST_UTIL.getMiniHBaseCluster().getMaster().getCatalogTracker(); + // Erase the current version of root meta for this test. + undoVersionInMeta(); + MetaMigrationRemovingHTD.updateRootWithMetaMigrationStatus(ct); + //MetaReader.fullScanMetaAndPrint(ct); + LOG.info("Meta Print completed.testUpdatesOnMetaWithLegacyHRI"); + + Set htds = + MetaMigrationRemovingHTD.updateMetaWithNewRegionInfo( + TEST_UTIL.getHBaseCluster().getMaster()); + assertEquals(1, htds.size()); + assertTrue(htds.contains(htd)); + // Assert that the flag in ROOT is updated to reflect the correct status + boolean metaUpdated = MetaMigrationRemovingHTD. + isMetaHRIUpdated(TEST_UTIL.getMiniHBaseCluster().getMaster()); + assertEquals(true, metaUpdated); + LOG.info("END testMetaWithLegacyHRI"); + } + + private void undoVersionInMeta() throws IOException { + Delete d = new Delete(HRegionInfo.ROOT_REGIONINFO.getRegionName()); + // Erase the current version of root meta for this test. + d.deleteColumn(HConstants.CATALOG_FAMILY, HConstants.META_VERSION_QUALIFIER); + HTable rootTable = + new HTable(TEST_UTIL.getConfiguration(), HConstants.ROOT_TABLE_NAME); + try { + rootTable.delete(d); + } finally { + rootTable.close(); + } + } + + public static void assertEquals(int expected, int actual) { + if (expected != actual) { + throw new AssertionFailedError("expected:<" + + expected + "> but was:<" + + actual + ">"); + } + } + + public static void assertEquals(boolean expected, boolean actual) { + if (expected != actual) { + throw new AssertionFailedError("expected:<" + + expected + "> but was:<" + + actual + ">"); + } + } + + + /** + * @param c + * @param htd + * @param family + * @param numRegions + * @return + * @throws IOException + * @deprecated Just for testing migration of meta from 0.90 to 0.92... will be + * removed thereafter + */ + public int createMultiRegionsWithLegacyHRI(final Configuration c, + final HTableDescriptor htd, final byte [] family, int numRegions) + throws IOException { + if (numRegions < 3) throw new IOException("Must create at least 3 regions"); + byte [] startKey = Bytes.toBytes("aaaaa"); + byte [] endKey = Bytes.toBytes("zzzzz"); + byte [][] splitKeys = Bytes.split(startKey, endKey, numRegions - 3); + byte [][] regionStartKeys = new byte[splitKeys.length+1][]; + for (int i=0;i newRegions + = new ArrayList(startKeys.length); + int count = 0; + for (int i = 0; i < startKeys.length; i++) { + int j = (i + 1) % startKeys.length; + HRegionInfo090x hri = new HRegionInfo090x(htd, + startKeys[i], startKeys[j]); + Put put = new Put(hri.getRegionName()); + put.add(HConstants.CATALOG_FAMILY, HConstants.REGIONINFO_QUALIFIER, + Writables.getBytes(hri)); + meta.put(put); + LOG.info("createMultiRegions: PUT inserted " + hri.toString()); + + newRegions.add(hri); + count++; + } + return count; + } + + int createMultiRegionsWithNewHRI(final Configuration c, + final HTableDescriptor htd, final byte [] family, int numRegions) + throws IOException { + if (numRegions < 3) throw new IOException("Must create at least 3 regions"); + byte [] startKey = Bytes.toBytes("aaaaa"); + byte [] endKey = Bytes.toBytes("zzzzz"); + byte [][] splitKeys = Bytes.split(startKey, endKey, numRegions - 3); + byte [][] regionStartKeys = new byte[splitKeys.length+1][]; + for (int i=0;i newRegions + = new ArrayList(startKeys.length); + int count = 0; + for (int i = 0; i < startKeys.length; i++) { + int j = (i + 1) % startKeys.length; + HRegionInfo hri = new HRegionInfo(htd.getName(), + startKeys[i], startKeys[j]); + Put put = new Put(hri.getRegionName()); + put.add(HConstants.CATALOG_FAMILY, HConstants.REGIONINFO_QUALIFIER, + Writables.getBytes(hri)); + meta.put(put); + LOG.info("createMultiRegions: PUT inserted " + hri.toString()); + + newRegions.add(hri); + count++; + } + return count; + } +} diff --git a/src/test/java/org/apache/hadoop/hbase/migration/TestMigrationFrom090To092.java b/src/test/java/org/apache/hadoop/hbase/migration/TestMigrationFrom090To092.java new file mode 100644 index 00000000000..6a6022701d4 --- /dev/null +++ b/src/test/java/org/apache/hadoop/hbase/migration/TestMigrationFrom090To092.java @@ -0,0 +1,58 @@ +/** + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.hadoop.hbase.migration; + + +import java.io.IOException; + +import junit.framework.Assert; + +import org.apache.hadoop.hbase.HColumnDescriptor; +import org.apache.hadoop.hbase.HConstants; +import org.apache.hadoop.hbase.HRegionInfo; +import org.apache.hadoop.hbase.HTableDescriptor; +import org.apache.hadoop.hbase.catalog.MetaMigrationRemovingHTD; +import org.apache.hadoop.hbase.util.Writables; +import org.junit.Test; + +/** + * Migration tests that do not need spin up of a cluster. + * @deprecated Remove after we release 0.92 + */ +public class TestMigrationFrom090To092 { + @Test + public void testMigrateHRegionInfoFromVersion0toVersion1() + throws IOException { + HTableDescriptor htd = + getHTableDescriptor("testMigrateHRegionInfoFromVersion0toVersion1"); + HRegionInfo090x ninety = + new HRegionInfo090x(htd, HConstants.EMPTY_START_ROW, HConstants.EMPTY_END_ROW); + byte [] bytes = Writables.getBytes(ninety); + // Now deserialize into an HRegionInfo + HRegionInfo hri = Writables.getHRegionInfo(bytes); + Assert.assertEquals(hri.getTableNameAsString(), + ninety.getTableDesc().getNameAsString()); + Assert.assertEquals(HRegionInfo.VERSION, hri.getVersion()); + } + + private HTableDescriptor getHTableDescriptor(final String name) { + HTableDescriptor htd = new HTableDescriptor(name); + htd.addFamily(new HColumnDescriptor("family")); + return htd; + } +} \ No newline at end of file