HBASE-18544 Move the HRegion#addRegionToMETA to TestDefaultMemStore
Signed-off-by: Michael Stack <stack@apache.org>
This commit is contained in:
parent
63e313b5c0
commit
310934d060
|
@ -3928,7 +3928,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi
|
||||||
* We throw RegionTooBusyException if above memstore limit
|
* We throw RegionTooBusyException if above memstore limit
|
||||||
* and expect client to retry using some kind of backoff
|
* and expect client to retry using some kind of backoff
|
||||||
*/
|
*/
|
||||||
private void checkResources() throws RegionTooBusyException {
|
void checkResources() throws RegionTooBusyException {
|
||||||
// If catalog region, do not impose resource constraints or block updates.
|
// If catalog region, do not impose resource constraints or block updates.
|
||||||
if (this.getRegionInfo().isMetaRegion()) return;
|
if (this.getRegionInfo().isMetaRegion()) return;
|
||||||
|
|
||||||
|
@ -3974,7 +3974,7 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi
|
||||||
* @param edits Cell updates by column
|
* @param edits Cell updates by column
|
||||||
* @throws IOException
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
private void put(final byte [] row, byte [] family, List<Cell> edits)
|
void put(final byte [] row, byte [] family, List<Cell> edits)
|
||||||
throws IOException {
|
throws IOException {
|
||||||
NavigableMap<byte[], List<Cell>> familyMap;
|
NavigableMap<byte[], List<Cell>> familyMap;
|
||||||
familyMap = new TreeMap<>(Bytes.BYTES_COMPARATOR);
|
familyMap = new TreeMap<>(Bytes.BYTES_COMPARATOR);
|
||||||
|
@ -6877,33 +6877,6 @@ public class HRegion implements HeapSize, PropagatingConfigurationObserver, Regi
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Inserts a new region's meta information into the passed
|
|
||||||
* <code>meta</code> region. Used by the HMaster bootstrap code adding
|
|
||||||
* new table to hbase:meta table.
|
|
||||||
*
|
|
||||||
* @param meta hbase:meta HRegion to be updated
|
|
||||||
* @param r HRegion to add to <code>meta</code>
|
|
||||||
*
|
|
||||||
* @throws IOException
|
|
||||||
*/
|
|
||||||
// TODO remove since only test and merge use this
|
|
||||||
public static void addRegionToMETA(final HRegion meta, final HRegion r) throws IOException {
|
|
||||||
meta.checkResources();
|
|
||||||
// The row key is the region name
|
|
||||||
byte[] row = r.getRegionInfo().getRegionName();
|
|
||||||
final long now = EnvironmentEdgeManager.currentTime();
|
|
||||||
final List<Cell> cells = new ArrayList<>(2);
|
|
||||||
cells.add(new KeyValue(row, HConstants.CATALOG_FAMILY,
|
|
||||||
HConstants.REGIONINFO_QUALIFIER, now,
|
|
||||||
r.getRegionInfo().toByteArray()));
|
|
||||||
// Set into the root table the version of the meta table.
|
|
||||||
cells.add(new KeyValue(row, HConstants.CATALOG_FAMILY,
|
|
||||||
HConstants.META_VERSION_QUALIFIER, now,
|
|
||||||
Bytes.toBytes(HConstants.META_VERSION)));
|
|
||||||
meta.put(row, HConstants.CATALOG_FAMILY, cells);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Computes the Path of the HRegion
|
* Computes the Path of the HRegion
|
||||||
*
|
*
|
||||||
|
|
|
@ -975,7 +975,7 @@ public class TestDefaultMemStore {
|
||||||
HRegion r =
|
HRegion r =
|
||||||
HRegion.createHRegion(hri, testDir, conf, desc,
|
HRegion.createHRegion(hri, testDir, conf, desc,
|
||||||
wFactory.getWAL(hri.getEncodedNameAsBytes(), hri.getTable().getNamespace()));
|
wFactory.getWAL(hri.getEncodedNameAsBytes(), hri.getTable().getNamespace()));
|
||||||
HRegion.addRegionToMETA(meta, r);
|
addRegionToMETA(meta, r);
|
||||||
edge.setCurrentTimeMillis(1234 + 100);
|
edge.setCurrentTimeMillis(1234 + 100);
|
||||||
StringBuffer sb = new StringBuffer();
|
StringBuffer sb = new StringBuffer();
|
||||||
assertTrue(meta.shouldFlush(sb) == false);
|
assertTrue(meta.shouldFlush(sb) == false);
|
||||||
|
@ -983,6 +983,32 @@ public class TestDefaultMemStore {
|
||||||
assertTrue(meta.shouldFlush(sb) == true);
|
assertTrue(meta.shouldFlush(sb) == true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Inserts a new region's meta information into the passed
|
||||||
|
* <code>meta</code> region. Used by the HMaster bootstrap code adding
|
||||||
|
* new table to hbase:meta table.
|
||||||
|
*
|
||||||
|
* @param meta hbase:meta HRegion to be updated
|
||||||
|
* @param r HRegion to add to <code>meta</code>
|
||||||
|
*
|
||||||
|
* @throws IOException
|
||||||
|
*/
|
||||||
|
public static void addRegionToMETA(final HRegion meta, final HRegion r) throws IOException {
|
||||||
|
meta.checkResources();
|
||||||
|
// The row key is the region name
|
||||||
|
byte[] row = r.getRegionInfo().getRegionName();
|
||||||
|
final long now = EnvironmentEdgeManager.currentTime();
|
||||||
|
final List<Cell> cells = new ArrayList<>(2);
|
||||||
|
cells.add(new KeyValue(row, HConstants.CATALOG_FAMILY,
|
||||||
|
HConstants.REGIONINFO_QUALIFIER, now,
|
||||||
|
r.getRegionInfo().toByteArray()));
|
||||||
|
// Set into the root table the version of the meta table.
|
||||||
|
cells.add(new KeyValue(row, HConstants.CATALOG_FAMILY,
|
||||||
|
HConstants.META_VERSION_QUALIFIER, now,
|
||||||
|
Bytes.toBytes(HConstants.META_VERSION)));
|
||||||
|
meta.put(row, HConstants.CATALOG_FAMILY, cells);
|
||||||
|
}
|
||||||
|
|
||||||
private class EnvironmentEdgeForMemstoreTest implements EnvironmentEdge {
|
private class EnvironmentEdgeForMemstoreTest implements EnvironmentEdge {
|
||||||
long t = 1234;
|
long t = 1234;
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue