org.apache.hadoop.hbase.client.RegionInfoBuilder#FIRST_META_REGIONINFO源码实例Demo

下面列出了org.apache.hadoop.hbase.client.RegionInfoBuilder#FIRST_META_REGIONINFO 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: hbase   文件: TestHRegionLocation.java
/**
 * HRegionLocations are equal if they have the same 'location' -- i.e. host and port -- even if
 * they are carrying different regions. Verify that is indeed the case.
 */
@Test
public void testHashAndEqualsCode() {
  ServerName hsa1 = ServerName.valueOf("localhost", 1234, -1L);
  HRegionLocation hrl1 = new HRegionLocation(RegionInfoBuilder.FIRST_META_REGIONINFO, hsa1);
  HRegionLocation hrl2 = new HRegionLocation(RegionInfoBuilder.FIRST_META_REGIONINFO, hsa1);
  assertEquals(hrl1.hashCode(), hrl2.hashCode());
  assertTrue(hrl1.equals(hrl2));
  HRegionLocation hrl3 = new HRegionLocation(RegionInfoBuilder.FIRST_META_REGIONINFO, hsa1);
  assertNotSame(hrl1, hrl3);
  // They are equal because they have same location even though they are
  // carrying different regions or timestamp.
  assertTrue(hrl1.equals(hrl3));
  ServerName hsa2 = ServerName.valueOf("localhost", 12345, -1L);
  HRegionLocation hrl4 = new HRegionLocation(RegionInfoBuilder.FIRST_META_REGIONINFO, hsa2);
  // These have same HRI but different locations so should be different.
  assertFalse(hrl3.equals(hrl4));
  HRegionLocation hrl5 =
    new HRegionLocation(hrl4.getRegion(), hrl4.getServerName(), hrl4.getSeqNum() + 1);
  assertTrue(hrl4.equals(hrl5));
}
 
源代码2 项目: hbase   文件: TestReadAndWriteRegionInfoFile.java
@Test
public void testReadAndWriteRegionInfoFile() throws IOException, InterruptedException {
  RegionInfo ri = RegionInfoBuilder.FIRST_META_REGIONINFO;
  // Create a region. That'll write the .regioninfo file.
  FSTableDescriptors fsTableDescriptors = new FSTableDescriptors(FS, ROOT_DIR);
  FSTableDescriptors.tryUpdateMetaTableDescriptor(CONF, FS, ROOT_DIR, null);
  HRegion r = HBaseTestingUtility.createRegionAndWAL(ri, ROOT_DIR, CONF,
    fsTableDescriptors.get(TableName.META_TABLE_NAME));
  // Get modtime on the file.
  long modtime = getModTime(r);
  HBaseTestingUtility.closeRegionAndWAL(r);
  Thread.sleep(1001);
  r = HRegion.openHRegion(ROOT_DIR, ri, fsTableDescriptors.get(TableName.META_TABLE_NAME), null,
    CONF);
  // Ensure the file is not written for a second time.
  long modtime2 = getModTime(r);
  assertEquals(modtime, modtime2);
  // Now load the file.
  HRegionFileSystem.loadRegionInfoFileContent(r.getRegionFileSystem().getFileSystem(),
    r.getRegionFileSystem().getRegionDir());
  HBaseTestingUtility.closeRegionAndWAL(r);
}
 
源代码3 项目: hbase   文件: MasterRpcServices.java
@Override
public UnassignRegionResponse unassignRegion(RpcController controller,
    UnassignRegionRequest req) throws ServiceException {
  try {
    final byte [] regionName = req.getRegion().getValue().toByteArray();
    RegionSpecifierType type = req.getRegion().getType();
    final boolean force = req.getForce();
    UnassignRegionResponse urr = UnassignRegionResponse.newBuilder().build();

    master.checkInitialized();
    if (type != RegionSpecifierType.REGION_NAME) {
      LOG.warn("unassignRegion specifier type: expected: " + RegionSpecifierType.REGION_NAME
        + " actual: " + type);
    }
    Pair<RegionInfo, ServerName> pair =
      MetaTableAccessor.getRegion(master.getConnection(), regionName);
    if (Bytes.equals(RegionInfoBuilder.FIRST_META_REGIONINFO.getRegionName(), regionName)) {
      pair = new Pair<>(RegionInfoBuilder.FIRST_META_REGIONINFO,
        MetaTableLocator.getMetaRegionLocation(master.getZooKeeper()));
    }
    if (pair == null) {
      throw new UnknownRegionException(Bytes.toString(regionName));
    }

    RegionInfo hri = pair.getFirst();
    if (master.cpHost != null) {
      master.cpHost.preUnassign(hri, force);
    }
    LOG.debug(master.getClientIdAuditPrefix() + " unassign " + hri.getRegionNameAsString()
        + " in current location if it is online and reassign.force=" + force);
    master.getAssignmentManager().unassign(hri);
    if (master.cpHost != null) {
      master.cpHost.postUnassign(hri, force);
    }

    return urr;
  } catch (IOException ioe) {
    throw new ServiceException(ioe);
  }
}
 
源代码4 项目: hbase   文件: TestHRegionLocation.java
@SuppressWarnings("SelfComparison")
@Test
public void testCompareTo() {
  ServerName hsa1 = ServerName.valueOf("localhost", 1234, -1L);
  HRegionLocation hsl1 = new HRegionLocation(RegionInfoBuilder.FIRST_META_REGIONINFO, hsa1);
  ServerName hsa2 = ServerName.valueOf("localhost", 1235, -1L);
  HRegionLocation hsl2 = new HRegionLocation(RegionInfoBuilder.FIRST_META_REGIONINFO, hsa2);
  assertEquals(0, hsl1.compareTo(hsl1));
  assertEquals(0, hsl2.compareTo(hsl2));
  int compare1 = hsl1.compareTo(hsl2);
  int compare2 = hsl2.compareTo(hsl1);
  assertTrue((compare1 > 0) ? compare2 < 0 : compare2 > 0);
}
 
源代码5 项目: hbase   文件: TestMaster.java
@Test
public void testMoveRegionWhenNotInitialized() {
  MiniHBaseCluster cluster = TEST_UTIL.getHBaseCluster();
  HMaster m = cluster.getMaster();
  try {
    m.setInitialized(false); // fake it, set back later
    RegionInfo meta = RegionInfoBuilder.FIRST_META_REGIONINFO;
    m.move(meta.getEncodedNameAsBytes(), null);
    fail("Region should not be moved since master is not initialized");
  } catch (IOException ioe) {
    assertTrue(ioe instanceof PleaseHoldException);
  } finally {
    m.setInitialized(true);
  }
}
 
private RegionCoprocessorHost getRegionCoprocessorHost() {
  // Make up an HRegion instance. Use the hbase:meta first region as our RegionInfo. Use
  // hbase:meta table name for building the TableDescriptor our mock returns when asked schema
  // down inside RegionCoprocessorHost. Pass in mocked RegionServerServices too.
  RegionInfo ri = RegionInfoBuilder.FIRST_META_REGIONINFO;
  HRegion mockedHRegion = Mockito.mock(HRegion.class);
  Mockito.when(mockedHRegion.getRegionInfo()).thenReturn(ri);
  TableDescriptor td = TableDescriptorBuilder.newBuilder(ri.getTable()).build();
  Mockito.when(mockedHRegion.getTableDescriptor()).thenReturn(td);
  RegionServerServices mockedServices = Mockito.mock(RegionServerServices.class);
  Configuration conf = HBaseConfiguration.create();
  // Load our test coprocessor defined above.
  conf.set(REGION_COPROCESSOR_CONF_KEY, TestRegionObserver.class.getName());
  return new RegionCoprocessorHost(mockedHRegion, mockedServices, conf);
}
 
源代码7 项目: hbase   文件: TestRegionInfo.java
@Test
public void testIsOverlap() {
  byte [] a = Bytes.toBytes("a");
  byte [] b = Bytes.toBytes("b");
  byte [] c = Bytes.toBytes("c");
  byte [] d = Bytes.toBytes("d");
  org.apache.hadoop.hbase.client.RegionInfo all =
      RegionInfoBuilder.FIRST_META_REGIONINFO;
  org.apache.hadoop.hbase.client.RegionInfo ari =
      org.apache.hadoop.hbase.client.RegionInfoBuilder.newBuilder(TableName.META_TABLE_NAME).
          setEndKey(a).build();
  org.apache.hadoop.hbase.client.RegionInfo abri =
      org.apache.hadoop.hbase.client.RegionInfoBuilder.newBuilder(TableName.META_TABLE_NAME).
          setStartKey(a).setEndKey(b).build();
  org.apache.hadoop.hbase.client.RegionInfo adri =
      org.apache.hadoop.hbase.client.RegionInfoBuilder.newBuilder(TableName.META_TABLE_NAME).
          setStartKey(a).setEndKey(d).build();
  org.apache.hadoop.hbase.client.RegionInfo cdri =
      org.apache.hadoop.hbase.client.RegionInfoBuilder.newBuilder(TableName.META_TABLE_NAME).
          setStartKey(c).setEndKey(d).build();
  org.apache.hadoop.hbase.client.RegionInfo dri =
      org.apache.hadoop.hbase.client.RegionInfoBuilder.newBuilder(TableName.META_TABLE_NAME).
          setStartKey(d).build();
  assertTrue(all.isOverlap(all));
  assertTrue(all.isOverlap(abri));
  assertFalse(abri.isOverlap(cdri));
  assertTrue(all.isOverlap(ari));
  assertFalse(ari.isOverlap(abri));
  assertFalse(ari.isOverlap(abri));
  assertTrue(ari.isOverlap(all));
  assertTrue(dri.isOverlap(all));
  assertTrue(abri.isOverlap(adri));
  assertFalse(dri.isOverlap(ari));
  assertTrue(abri.isOverlap(adri));
  assertTrue(adri.isOverlap(abri));
}
 
源代码8 项目: hbase   文件: TestRegionInfo.java
@Test
public void testPb() throws DeserializationException {
  RegionInfo hri = RegionInfoBuilder.FIRST_META_REGIONINFO;
  byte [] bytes = RegionInfo.toByteArray(hri);
  RegionInfo pbhri = RegionInfo.parseFrom(bytes);
  assertTrue(hri.equals(pbhri));
}
 
源代码9 项目: hbase   文件: TestRegionInfo.java
@Test
public void testReadAndWriteHRegionInfoFile() throws IOException, InterruptedException {
  HBaseTestingUtility htu = new HBaseTestingUtility();
  RegionInfo hri = RegionInfoBuilder.FIRST_META_REGIONINFO;
  Path basedir = htu.getDataTestDir();
  // Create a region.  That'll write the .regioninfo file.
  FSTableDescriptors fsTableDescriptors = new FSTableDescriptors(htu.getConfiguration());
  FSTableDescriptors.tryUpdateMetaTableDescriptor(htu.getConfiguration());
  HRegion r = HBaseTestingUtility.createRegionAndWAL(hri, basedir, htu.getConfiguration(),
      fsTableDescriptors.get(TableName.META_TABLE_NAME));
  // Get modtime on the file.
  long modtime = getModTime(r);
  HBaseTestingUtility.closeRegionAndWAL(r);
  Thread.sleep(1001);
  r = HRegion.openHRegion(basedir, hri, fsTableDescriptors.get(TableName.META_TABLE_NAME),
      null, htu.getConfiguration());
  // Ensure the file is not written for a second time.
  long modtime2 = getModTime(r);
  assertEquals(modtime, modtime2);
  // Now load the file.
  org.apache.hadoop.hbase.client.RegionInfo deserializedHri =
    HRegionFileSystem.loadRegionInfoFileContent(
      r.getRegionFileSystem().getFileSystem(), r.getRegionFileSystem().getRegionDir());
  assertEquals(0,
    org.apache.hadoop.hbase.client.RegionInfo.COMPARATOR.compare(hri, deserializedHri));
  HBaseTestingUtility.closeRegionAndWAL(r);
}
 
源代码10 项目: hbase   文件: ProtobufUtil.java
/**
 * Convert HBaseProto.RegionInfo to a RegionInfo
 *
 * @param proto the RegionInfo to convert
 * @return the converted RegionInfo
 */
public static org.apache.hadoop.hbase.client.RegionInfo toRegionInfo(final HBaseProtos.RegionInfo proto) {
  if (proto == null) {
    return null;
  }
  TableName tableName = ProtobufUtil.toTableName(proto.getTableName());
  long regionId = proto.getRegionId();
  int defaultReplicaId = org.apache.hadoop.hbase.client.RegionInfo.DEFAULT_REPLICA_ID;
  int replicaId = proto.hasReplicaId()? proto.getReplicaId(): defaultReplicaId;
  if (tableName.equals(TableName.META_TABLE_NAME) && replicaId == defaultReplicaId) {
    return RegionInfoBuilder.FIRST_META_REGIONINFO;
  }
  byte[] startKey = null;
  byte[] endKey = null;
  if (proto.hasStartKey()) {
    startKey = proto.getStartKey().toByteArray();
  }
  if (proto.hasEndKey()) {
    endKey = proto.getEndKey().toByteArray();
  }
  boolean split = false;
  if (proto.hasSplit()) {
    split = proto.getSplit();
  }
  RegionInfoBuilder rib = RegionInfoBuilder.newBuilder(tableName)
  .setStartKey(startKey)
  .setEndKey(endKey)
  .setRegionId(regionId)
  .setReplicaId(replicaId)
  .setSplit(split);
  if (proto.hasOffline()) {
    rib.setOffline(proto.getOffline());
  }
  return rib.build();
}
 
源代码11 项目: hbase   文件: AssignmentManager.java
private RegionInfo getMetaForRegion(final RegionInfo regionInfo) {
  //if (regionInfo.isMetaRegion()) return regionInfo;
  // TODO: handle multiple meta. if the region provided is not meta lookup
  // which meta the region belongs to.
  return RegionInfoBuilder.FIRST_META_REGIONINFO;
}
 
源代码12 项目: hbase   文件: TestHRegionLocation.java
@Test
public void testToString() {
  ServerName hsa1 = ServerName.valueOf("localhost", 1234, -1L);
  HRegionLocation hrl1 = new HRegionLocation(RegionInfoBuilder.FIRST_META_REGIONINFO, hsa1);
  System.out.println(hrl1.toString());
}