Java 类org.apache.hadoop.hbase.util.CancelableProgressable 实例源码

项目:ditb    文件:HRegion.java   
public static void warmupHRegion(final HRegionInfo info, final HTableDescriptor htd,
    final WAL wal, final Configuration conf, final RegionServerServices rsServices,
    final CancelableProgressable reporter) throws IOException {

  if (info == null) throw new NullPointerException("Passed region info is null");

  if (LOG.isDebugEnabled()) {
    LOG.debug("HRegion.Warming up region: " + info);
  }

  Path rootDir = FSUtils.getRootDir(conf);
  Path tableDir = FSUtils.getTableDir(rootDir, info.getTable());

  FileSystem fs = null;
  if (rsServices != null) {
    fs = rsServices.getFileSystem();
  }
  if (fs == null) {
    fs = FileSystem.get(conf);
  }

  HRegion r = HRegion.newHRegion(tableDir, wal, fs, conf, info, htd, null);
  r.initializeWarmup(reporter);
}
项目:ditb    文件:HRegion.java   
/**
 * Initialize this region.
 *
 * @param reporter Tickle every so often if initialize is taking a while.
 * @return What the next sequence (edit) id should be.
 * @throws IOException e
 */
private long initialize(final CancelableProgressable reporter) throws IOException {
  MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);
  long nextSeqId = -1;
  try {
    nextSeqId = initializeRegionInternals(reporter, status);
    return nextSeqId;
  } finally {
    // nextSeqid will be -1 if the initialization fails.
    // At least it will be 0 otherwise.
    if (nextSeqId == -1) {
      status.abort("Exception during region " + getRegionInfo().getRegionNameAsString()
          + " initialization.");
    }
  }
}
项目:ditb    文件:HRegion.java   
/**
 * Open HRegion. Calls initialize and sets sequenceId.
 *
 * @return Returns <code>this</code>
 * @throws IOException
 */
protected HRegion openHRegion(final CancelableProgressable reporter) throws IOException {
  // Refuse to open the region if we are missing local compression support
  checkCompressionCodecs();
  // Refuse to open the region if encryption configuration is incorrect or
  // codec support is missing
  checkEncryption();
  // Refuse to open the region if a required class cannot be loaded
  checkClassLoading();
  this.openSeqNum = initialize(reporter);
  this.mvcc.advanceTo(openSeqNum);
  if (wal != null && getRegionServerServices() != null && !writestate.readOnly && !recovering) {
    // Only write the region open event marker to WAL if (1) we are not
    // read-only
    // (2) dist log replay is off or we are not recovering. In case region is
    // recovering, the open event will be written at setRecovering(false)
    writeRegionOpenMarker(wal, openSeqNum);
  }
  return this;
}
项目:LCIndex-HBase-0.94.16    文件:HRegion.java   
/**
 * Initialize this region.
 * @param reporter Tickle every so often if initialize is taking a while.
 * @return What the next sequence (edit) id should be.
 * @throws IOException e
 */
public long initialize(final CancelableProgressable reporter) throws IOException {

  MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);

  long nextSeqId = -1;
  try {
    nextSeqId = initializeRegionInternals(reporter, status);
    return nextSeqId;
  } finally {
    // nextSeqid will be -1 if the initialization fails.
    // At least it will be 0 otherwise.
    if (nextSeqId == -1) {
      status
          .abort("Exception during region " + this.getRegionNameAsString() + " initialization.");
    }
  }
}
项目:LCIndex-HBase-0.94.16    文件:HRegion.java   
/**
 * Open a Region.
 * @param info Info for region to be opened
 * @param htd
 * @param wal HLog for region to use. This method will call HLog#setSequenceNumber(long) passing
 *          the result of the call to HRegion#getMinSequenceId() to ensure the log id is properly
 *          kept up. HRegionStore does this every time it opens a new region.
 * @param conf
 * @param rsServices An interface we can request flushes against.
 * @param reporter An interface we can report progress against.
 * @return new HRegion
 * @throws IOException
 */
public static HRegion openHRegion(final HRegionInfo info, final HTableDescriptor htd,
    final HLog wal, final Configuration conf, final RegionServerServices rsServices,
    final CancelableProgressable reporter) throws IOException {
  if (LOG.isDebugEnabled()) {
    LOG.debug("Opening region: " + info);
  }
  if (info == null) {
    throw new NullPointerException("Passed region info is null");
  }
  Path dir = HTableDescriptor.getTableDir(FSUtils.getRootDir(conf), info.getTableName());
  FileSystem fs = null;
  if (rsServices != null) {
    fs = rsServices.getFileSystem();
  }
  if (fs == null) {
    fs = FileSystem.get(conf);
  }
  HRegion r = HRegion.newHRegion(dir, wal, fs, conf, info, htd, rsServices);
  return r.openHRegion(reporter);
}
项目:pbase    文件:HRegion.java   
/**
 * Initialize this region.
 *
 * @param reporter Tickle every so often if initialize is taking a while.
 * @return What the next sequence (edit) id should be.
 * @throws IOException e
 */
private long initialize(final CancelableProgressable reporter) throws IOException {
    MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);
    long nextSeqId = -1;
    try {
        nextSeqId = initializeRegionInternals(reporter, status);
        return nextSeqId;
    } finally {
        // nextSeqid will be -1 if the initialization fails.
        // At least it will be 0 otherwise.
        if (nextSeqId == -1) {
            status
                    .abort("Exception during region " + this.getRegionNameAsString() + " initialization.");
        }
    }
}
项目:pbase    文件:HRegion.java   
/**
 * Open HRegion.
 * Calls initialize and sets sequenceId.
 *
 * @return Returns <code>this</code>
 * @throws IOException
 */
protected HRegion openHRegion(final CancelableProgressable reporter)
        throws IOException {
    // Refuse to open the region if we are missing local compression support
    checkCompressionCodecs();
    // Refuse to open the region if encryption configuration is incorrect or
    // codec support is missing
    checkEncryption();
    // Refuse to open the region if a required class cannot be loaded
    checkClassLoading();
    this.openSeqNum = initialize(reporter);
    this.setSequenceId(openSeqNum);
    if (wal != null && getRegionServerServices() != null) {
        writeRegionOpenMarker(wal, openSeqNum);
    }
    return this;
}
项目:HIndex    文件:HRegion.java   
/**
 * Initialize this region.
 *
 * @param reporter Tickle every so often if initialize is taking a while.
 * @return What the next sequence (edit) id should be.
 * @throws IOException e
 */
private long initialize(final CancelableProgressable reporter) throws IOException {
  MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);
  long nextSeqId = -1;
  try {
    nextSeqId = initializeRegionInternals(reporter, status);
    return nextSeqId;
  } finally {
    // nextSeqid will be -1 if the initialization fails.
    // At least it will be 0 otherwise.
    if (nextSeqId == -1) {
      status
          .abort("Exception during region " + this.getRegionNameAsString() + " initialization.");
    }
  }
}
项目:IRIndex    文件:HRegion.java   
/**
 * Initialize this region.
 *
 * @param reporter Tickle every so often if initialize is taking a while.
 * @return What the next sequence (edit) id should be.
 * @throws IOException e
 */
public long initialize(final CancelableProgressable reporter)
    throws IOException {

  MonitoredTask status = TaskMonitor.get().createStatus(
      "Initializing region " + this);

  long nextSeqId = -1;
  try {
    nextSeqId = initializeRegionInternals(reporter, status);
    return nextSeqId;
  } finally {
    // nextSeqid will be -1 if the initialization fails.
    // At least it will be 0 otherwise.
    if (nextSeqId == -1) {
      status.abort("Exception during region " + this.getRegionNameAsString()
          + " initialization.");
    }
  }
}
项目:IRIndex    文件:HRegion.java   
/**
 * Open a Region.
 * @param info Info for region to be opened
 * @param htd
 * @param wal HLog for region to use. This method will call
 * HLog#setSequenceNumber(long) passing the result of the call to
 * HRegion#getMinSequenceId() to ensure the log id is properly kept
 * up.  HRegionStore does this every time it opens a new region.
 * @param conf
 * @param rsServices An interface we can request flushes against.
 * @param reporter An interface we can report progress against.
 * @return new HRegion
 *
 * @throws IOException
 */
public static HRegion openHRegion(final HRegionInfo info,
  final HTableDescriptor htd, final HLog wal, final Configuration conf,
  final RegionServerServices rsServices,
  final CancelableProgressable reporter)
throws IOException {
  if (LOG.isDebugEnabled()) {
    LOG.debug("Opening region: " + info);
  }
  if (info == null) {
    throw new NullPointerException("Passed region info is null");
  }
  Path dir = HTableDescriptor.getTableDir(FSUtils.getRootDir(conf),
    info.getTableName());
  FileSystem fs = null;
  if (rsServices != null) {
    fs = rsServices.getFileSystem();
  }
  if (fs == null) {
    fs = FileSystem.get(conf);
  }
  HRegion r = HRegion.newHRegion(dir, wal, fs, conf, info,
    htd, rsServices);
  return r.openHRegion(reporter);
}
项目:IRIndex    文件:HRegion.java   
/**
 * Open a Region.
 * @param tableDir Table directory
 * @param info Info for region to be opened.
 * @param wal HLog for region to use. This method will call
 * HLog#setSequenceNumber(long) passing the result of the call to
 * HRegion#getMinSequenceId() to ensure the log id is properly kept
 * up.  HRegionStore does this every time it opens a new region.
 * @param conf
 * @param reporter An interface we can report progress against.
 * @return new HRegion
 *
 * @throws IOException
 */
public static HRegion openHRegion(final Path tableDir, final HRegionInfo info,
    final HTableDescriptor htd, final HLog wal, final Configuration conf,
    final RegionServerServices rsServices,
    final CancelableProgressable reporter)
throws IOException {
  if (info == null) throw new NullPointerException("Passed region info is null");
  LOG.info("HRegion.openHRegion Region name ==" + info.getRegionNameAsString());
  if (LOG.isDebugEnabled()) {
    LOG.debug("Opening region: " + info);
  }
  Path dir = HTableDescriptor.getTableDir(tableDir,
      info.getTableName());
  HRegion r = HRegion.newHRegion(dir, wal, FileSystem.get(conf), conf, info,
      htd, rsServices);
  return r.openHRegion(reporter);
}
项目:hbase    文件:HRegion.java   
/**
 * Initialize this region.
 *
 * @param reporter Tickle every so often if initialize is taking a while.
 * @return What the next sequence (edit) id should be.
 * @throws IOException e
 */
private long initialize(final CancelableProgressable reporter) throws IOException {

  //Refuse to open the region if there is no column family in the table
  if (htableDescriptor.getColumnFamilyCount() == 0) {
    throw new DoNotRetryIOException("Table " + htableDescriptor.getTableName().getNameAsString()+
        " should have at least one column family.");
  }

  MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);
  long nextSeqId = -1;
  try {
    nextSeqId = initializeRegionInternals(reporter, status);
    return nextSeqId;
  } finally {
    // nextSeqid will be -1 if the initialization fails.
    // At least it will be 0 otherwise.
    if (nextSeqId == -1) {
      status.abort("Exception during region " + getRegionInfo().getRegionNameAsString() +
        " initialization.");
    }
  }
}
项目:hbase    文件:HRegion.java   
/**
 * Open HRegion.
 * Calls initialize and sets sequenceId.
 * @return Returns <code>this</code>
 * @throws IOException
 */
protected HRegion openHRegion(final CancelableProgressable reporter)
throws IOException {
  // Refuse to open the region if we are missing local compression support
  checkCompressionCodecs();
  // Refuse to open the region if encryption configuration is incorrect or
  // codec support is missing
  checkEncryption();
  // Refuse to open the region if a required class cannot be loaded
  checkClassLoading();
  this.openSeqNum = initialize(reporter);
  this.mvcc.advanceTo(openSeqNum);
  if (wal != null && getRegionServerServices() != null && !writestate.readOnly) {
    // Only write the region open event marker to WAL if we are not read-only.
    writeRegionOpenMarker(wal, openSeqNum);
  }
  return this;
}
项目:hbase    文件:HRegion.java   
public static void warmupHRegion(final RegionInfo info,
    final TableDescriptor htd, final WAL wal, final Configuration conf,
    final RegionServerServices rsServices,
    final CancelableProgressable reporter)
    throws IOException {

  if (info == null) throw new NullPointerException("Passed region info is null");

  if (LOG.isDebugEnabled()) {
    LOG.debug("HRegion.Warming up region: " + info);
  }

  Path rootDir = FSUtils.getRootDir(conf);
  Path tableDir = FSUtils.getTableDir(rootDir, info.getTable());

  FileSystem fs = null;
  if (rsServices != null) {
    fs = rsServices.getFileSystem();
  }
  if (fs == null) {
    fs = FileSystem.get(conf);
  }

  HRegion r = HRegion.newHRegion(tableDir, wal, fs, conf, info, htd, null);
  r.initializeWarmup(reporter);
}
项目:RStore    文件:OpenRegionHandler.java   
/**
 * @return Instance of HRegion if successful open else null.
 */
HRegion openRegion() {
  HRegion region = null;
  try {
    // Instantiate the region.  This also periodically tickles our zk OPENING
    // state so master doesn't timeout this region in transition.
    region = HRegion.openHRegion(this.regionInfo, this.htd,
        this.rsServices.getWAL(), this.server.getConfiguration(),
        this.rsServices,
      new CancelableProgressable() {
        public boolean progress() {
          // We may lose the znode ownership during the open.  Currently its
          // too hard interrupting ongoing region open.  Just let it complete
          // and check we still have the znode after region open.
          return tickleOpening("open_region_progress");
        }
      });
  } catch (Throwable t) {
    // We failed open. Our caller will see the 'null' return value
    // and transition the node back to FAILED_OPEN. If that fails,
    // we rely on the Timeout Monitor in the master to reassign.
    LOG.error("Failed open of region=" +
      this.regionInfo.getRegionNameAsString(), t);
  }
  return region;
}
项目:RStore    文件:HRegion.java   
/**
 * Open a Region.
 * @param info Info for region to be opened
 * @param htd
 * @param wal HLog for region to use. This method will call
 * HLog#setSequenceNumber(long) passing the result of the call to
 * HRegion#getMinSequenceId() to ensure the log id is properly kept
 * up.  HRegionStore does this every time it opens a new region.
 * @param conf
 * @param rsServices An interface we can request flushes against.
 * @param reporter An interface we can report progress against.
 * @return new HRegion
 *
 * @throws IOException
 */
public static HRegion openHRegion(final HRegionInfo info,
  final HTableDescriptor htd, final HLog wal, final Configuration conf,
  final RegionServerServices rsServices,
  final CancelableProgressable reporter)
throws IOException {
  if (LOG.isDebugEnabled()) {
    LOG.debug("Opening region: " + info);
  }
  if (info == null) {
    throw new NullPointerException("Passed region info is null");
  }
  Path dir = HTableDescriptor.getTableDir(FSUtils.getRootDir(conf),
    info.getTableName());
  HRegion r = HRegion.newHRegion(dir, wal, FileSystem.get(conf), conf, info,
    htd, rsServices);
  return r.openHRegion(reporter);
}
项目:RStore    文件:HRegion.java   
/**
 * Open a Region.
 * @param tableDir Table directory
 * @param info Info for region to be opened.
 * @param wal HLog for region to use. This method will call
 * HLog#setSequenceNumber(long) passing the result of the call to
 * HRegion#getMinSequenceId() to ensure the log id is properly kept
 * up.  HRegionStore does this every time it opens a new region.
 * @param conf
 * @param reporter An interface we can report progress against.
 * @return new HRegion
 *
 * @throws IOException
 */
public static HRegion openHRegion(final Path tableDir, final HRegionInfo info,
    final HTableDescriptor htd, final HLog wal, final Configuration conf,
    final RegionServerServices rsServices,
    final CancelableProgressable reporter)
throws IOException {
  if (info == null) throw new NullPointerException("Passed region info is null");
  LOG.info("HRegion.openHRegion Region name ==" + info.getRegionNameAsString());
  if (LOG.isDebugEnabled()) {
    LOG.debug("Opening region: " + info);
  }
  Path dir = HTableDescriptor.getTableDir(tableDir,
      info.getTableName());
  HRegion r = HRegion.newHRegion(dir, wal, FileSystem.get(conf), conf, info,
      htd, rsServices);
  return r.openHRegion(reporter);
}
项目:PyroDB    文件:HRegion.java   
/**
 * Initialize this region.
 *
 * @param reporter Tickle every so often if initialize is taking a while.
 * @return What the next sequence (edit) id should be.
 * @throws IOException e
 */
private long initialize(final CancelableProgressable reporter) throws IOException {
  MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);
  long nextSeqId = -1;
  try {
    nextSeqId = initializeRegionInternals(reporter, status);
    return nextSeqId;
  } finally {
    // nextSeqid will be -1 if the initialization fails.
    // At least it will be 0 otherwise.
    if (nextSeqId == -1) {
      status
          .abort("Exception during region " + this.getRegionNameAsString() + " initialization.");
    }
  }
}
项目:c5    文件:HRegion.java   
/**
 * Initialize this region.
 *
 * @param reporter Tickle every so often if initialize is taking a while.
 * @return What the next sequence (edit) id should be.
 * @throws IOException e
 */
private long initialize(final CancelableProgressable reporter) throws IOException {
  MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);
  long nextSeqId = -1;
  try {
    nextSeqId = initializeRegionInternals(reporter, status);
    return nextSeqId;
  } finally {
    // nextSeqid will be -1 if the initialization fails.
    // At least it will be 0 otherwise.
    if (nextSeqId == -1) {
      status
          .abort("Exception during region " + this.getRegionNameAsString() + " initialization.");
    }
  }
}
项目:HBase-Research    文件:HRegion.java   
/**
 * Initialize this region.
 *
 * @param reporter Tickle every so often if initialize is taking a while.
 * @return What the next sequence (edit) id should be.
 * @throws IOException e
 */
public long initialize(final CancelableProgressable reporter)
    throws IOException {

  MonitoredTask status = TaskMonitor.get().createStatus(
      "Initializing region " + this);

  long nextSeqId = -1;
  try {
    nextSeqId = initializeRegionInternals(reporter, status);
    return nextSeqId;
  } finally {
    // nextSeqid will be -1 if the initialization fails.
    // At least it will be 0 otherwise.
    if (nextSeqId == -1) {
      status.abort("Exception during region " + this.getRegionNameAsString()
          + " initialization.");
    }
  }
}
项目:HBase-Research    文件:HRegion.java   
/**
 * Open a Region.
 * @param info Info for region to be opened
 * @param htd
 * @param wal HLog for region to use. This method will call
 * HLog#setSequenceNumber(long) passing the result of the call to
 * HRegion#getMinSequenceId() to ensure the log id is properly kept
 * up.  HRegionStore does this every time it opens a new region.
 * @param conf
 * @param rsServices An interface we can request flushes against.
 * @param reporter An interface we can report progress against.
 * @return new HRegion
 *
 * @throws IOException
 */
public static HRegion openHRegion(final HRegionInfo info,
  final HTableDescriptor htd, final HLog wal, final Configuration conf,
  final RegionServerServices rsServices,
  final CancelableProgressable reporter)
throws IOException {
  if (LOG.isDebugEnabled()) {
    LOG.debug("Opening region: " + info);
  }
  if (info == null) {
    throw new NullPointerException("Passed region info is null");
  }
  Path dir = HTableDescriptor.getTableDir(FSUtils.getRootDir(conf),
    info.getTableName());
  FileSystem fs = null;
  if (rsServices != null) {
    fs = rsServices.getFileSystem();
  }
  if (fs == null) {
    fs = FileSystem.get(conf);
  }
  HRegion r = HRegion.newHRegion(dir, wal, fs, conf, info,
    htd, rsServices);
  return r.openHRegion(reporter);
}
项目:HBase-Research    文件:HRegion.java   
/**
 * Open a Region.
 * @param tableDir Table directory
 * @param info Info for region to be opened.
 * @param wal HLog for region to use. This method will call
 * HLog#setSequenceNumber(long) passing the result of the call to
 * HRegion#getMinSequenceId() to ensure the log id is properly kept
 * up.  HRegionStore does this every time it opens a new region.
 * @param conf
 * @param reporter An interface we can report progress against.
 * @return new HRegion
 *
 * @throws IOException
 */
public static HRegion openHRegion(final Path tableDir, final HRegionInfo info,
    final HTableDescriptor htd, final HLog wal, final Configuration conf,
    final RegionServerServices rsServices,
    final CancelableProgressable reporter)
throws IOException {
  if (info == null) throw new NullPointerException("Passed region info is null");
  LOG.info("HRegion.openHRegion Region name ==" + info.getRegionNameAsString());
  if (LOG.isDebugEnabled()) {
    LOG.debug("Opening region: " + info);
  }
  Path dir = HTableDescriptor.getTableDir(tableDir,
      info.getTableName());
  HRegion r = HRegion.newHRegion(dir, wal, FileSystem.get(conf), conf, info,
      htd, rsServices);
  return r.openHRegion(reporter);
}
项目:hbase-0.94.8-qod    文件:HRegion.java   
/**
 * Initialize this region.
 *
 * @param reporter Tickle every so often if initialize is taking a while.
 * @return What the next sequence (edit) id should be.
 * @throws IOException e
 */
public long initialize(final CancelableProgressable reporter)
    throws IOException {

  MonitoredTask status = TaskMonitor.get().createStatus(
      "Initializing region " + this);

  long nextSeqId = -1;
  try {
    nextSeqId = initializeRegionInternals(reporter, status);
    return nextSeqId;
  } finally {
    // nextSeqid will be -1 if the initialization fails.
    // At least it will be 0 otherwise.
    if (nextSeqId == -1) {
      status.abort("Exception during region " + this.getRegionNameAsString()
          + " initialization.");
    }
  }
}
项目:hbase-0.94.8-qod    文件:HRegion.java   
/**
 * Open a Region.
 * @param info Info for region to be opened
 * @param htd
 * @param wal HLog for region to use. This method will call
 * HLog#setSequenceNumber(long) passing the result of the call to
 * HRegion#getMinSequenceId() to ensure the log id is properly kept
 * up.  HRegionStore does this every time it opens a new region.
 * @param conf
 * @param rsServices An interface we can request flushes against.
 * @param reporter An interface we can report progress against.
 * @return new HRegion
 *
 * @throws IOException
 */
public static HRegion openHRegion(final HRegionInfo info,
  final HTableDescriptor htd, final HLog wal, final Configuration conf,
  final RegionServerServices rsServices,
  final CancelableProgressable reporter)
throws IOException {
  if (LOG.isDebugEnabled()) {
    LOG.debug("Opening region: " + info);
  }
  if (info == null) {
    throw new NullPointerException("Passed region info is null");
  }
  Path dir = HTableDescriptor.getTableDir(FSUtils.getRootDir(conf),
    info.getTableName());
  FileSystem fs = null;
  if (rsServices != null) {
    fs = rsServices.getFileSystem();
  }
  if (fs == null) {
    fs = FileSystem.get(conf);
  }
  HRegion r = HRegion.newHRegion(dir, wal, fs, conf, info,
    htd, rsServices);
  return r.openHRegion(reporter);
}
项目:hbase-0.94.8-qod    文件:HRegion.java   
/**
 * Open a Region.
 * @param tableDir Table directory
 * @param info Info for region to be opened.
 * @param wal HLog for region to use. This method will call
 * HLog#setSequenceNumber(long) passing the result of the call to
 * HRegion#getMinSequenceId() to ensure the log id is properly kept
 * up.  HRegionStore does this every time it opens a new region.
 * @param conf
 * @param reporter An interface we can report progress against.
 * @return new HRegion
 *
 * @throws IOException
 */
public static HRegion openHRegion(final Path tableDir, final HRegionInfo info,
    final HTableDescriptor htd, final HLog wal, final Configuration conf,
    final RegionServerServices rsServices,
    final CancelableProgressable reporter)
throws IOException {
  if (info == null) throw new NullPointerException("Passed region info is null");
  LOG.info("HRegion.openHRegion Region name ==" + info.getRegionNameAsString());
  if (LOG.isDebugEnabled()) {
    LOG.debug("Opening region: " + info);
  }
  Path dir = HTableDescriptor.getTableDir(tableDir,
      info.getTableName());
  HRegion r = HRegion.newHRegion(dir, wal, FileSystem.get(conf), conf, info,
      htd, rsServices);
  return r.openHRegion(reporter);
}
项目:hbase-0.94.8-qod    文件:HRegion.java   
/**
 * Initialize this region.
 *
 * @param reporter Tickle every so often if initialize is taking a while.
 * @return What the next sequence (edit) id should be.
 * @throws IOException e
 */
public long initialize(final CancelableProgressable reporter)
    throws IOException {

  MonitoredTask status = TaskMonitor.get().createStatus(
      "Initializing region " + this);

  long nextSeqId = -1;
  try {
    nextSeqId = initializeRegionInternals(reporter, status);
    return nextSeqId;
  } finally {
    // nextSeqid will be -1 if the initialization fails.
    // At least it will be 0 otherwise.
    if (nextSeqId == -1) {
      status.abort("Exception during region " + this.getRegionNameAsString()
          + " initialization.");
    }
  }
}
项目:hbase-0.94.8-qod    文件:HRegion.java   
/**
 * Open a Region.
 * @param info Info for region to be opened
 * @param htd
 * @param wal HLog for region to use. This method will call
 * HLog#setSequenceNumber(long) passing the result of the call to
 * HRegion#getMinSequenceId() to ensure the log id is properly kept
 * up.  HRegionStore does this every time it opens a new region.
 * @param conf
 * @param rsServices An interface we can request flushes against.
 * @param reporter An interface we can report progress against.
 * @return new HRegion
 *
 * @throws IOException
 */
public static HRegion openHRegion(final HRegionInfo info,
  final HTableDescriptor htd, final HLog wal, final Configuration conf,
  final RegionServerServices rsServices,
  final CancelableProgressable reporter)
throws IOException {
  if (LOG.isDebugEnabled()) {
    LOG.debug("Opening region: " + info);
  }
  if (info == null) {
    throw new NullPointerException("Passed region info is null");
  }
  Path dir = HTableDescriptor.getTableDir(FSUtils.getRootDir(conf),
    info.getTableName());
  FileSystem fs = null;
  if (rsServices != null) {
    fs = rsServices.getFileSystem();
  }
  if (fs == null) {
    fs = FileSystem.get(conf);
  }
  HRegion r = HRegion.newHRegion(dir, wal, fs, conf, info,
    htd, rsServices);
  return r.openHRegion(reporter);
}
项目:hbase-0.94.8-qod    文件:HRegion.java   
/**
 * Open a Region.
 * @param tableDir Table directory
 * @param info Info for region to be opened.
 * @param wal HLog for region to use. This method will call
 * HLog#setSequenceNumber(long) passing the result of the call to
 * HRegion#getMinSequenceId() to ensure the log id is properly kept
 * up.  HRegionStore does this every time it opens a new region.
 * @param conf
 * @param reporter An interface we can report progress against.
 * @return new HRegion
 *
 * @throws IOException
 */
public static HRegion openHRegion(final Path tableDir, final HRegionInfo info,
    final HTableDescriptor htd, final HLog wal, final Configuration conf,
    final RegionServerServices rsServices,
    final CancelableProgressable reporter)
throws IOException {
  if (info == null) throw new NullPointerException("Passed region info is null");
  LOG.info("HRegion.openHRegion Region name ==" + info.getRegionNameAsString());
  if (LOG.isDebugEnabled()) {
    LOG.debug("Opening region: " + info);
  }
  Path dir = HTableDescriptor.getTableDir(tableDir,
      info.getTableName());
  HRegion r = HRegion.newHRegion(dir, wal, FileSystem.get(conf), conf, info,
      htd, rsServices);
  return r.openHRegion(reporter);
}
项目:DominoHBase    文件:HRegion.java   
/**
 * Initialize this region.
 *
 * @param reporter Tickle every so often if initialize is taking a while.
 * @return What the next sequence (edit) id should be.
 * @throws IOException e
 */
public long initialize(final CancelableProgressable reporter)
throws IOException {
  MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);
  long nextSeqId = -1;
  try {
    nextSeqId = initializeRegionInternals(reporter, status);
    return nextSeqId;
  } finally {
    // nextSeqid will be -1 if the initialization fails.
    // At least it will be 0 otherwise.
    if (nextSeqId == -1) {
      status
          .abort("Exception during region " + this.getRegionNameAsString() + " initialization.");
    }
  }
}
项目:DominoHBase    文件:HRegion.java   
/**
 * Open a Region.
 * @param info Info for region to be opened
 * @param htd
 * @param wal HLog for region to use. This method will call
 * HLog#setSequenceNumber(long) passing the result of the call to
 * HRegion#getMinSequenceId() to ensure the log id is properly kept
 * up.  HRegionStore does this every time it opens a new region.
 * @param conf
 * @param rsServices An interface we can request flushes against.
 * @param reporter An interface we can report progress against.
 * @return new HRegion
 *
 * @throws IOException
 */
public static HRegion openHRegion(final HRegionInfo info,
  final HTableDescriptor htd, final HLog wal, final Configuration conf,
  final RegionServerServices rsServices,
  final CancelableProgressable reporter)
throws IOException {
  if (LOG.isDebugEnabled()) {
    LOG.debug("Opening region: " + info);
  }
  if (info == null) {
    throw new NullPointerException("Passed region info is null");
  }
  Path dir = HTableDescriptor.getTableDir(FSUtils.getRootDir(conf),
    info.getTableName());
  FileSystem fs = null;
  if (rsServices != null) {
    fs = rsServices.getFileSystem();
  }
  if (fs == null) {
    fs = FileSystem.get(conf);
  }
  HRegion r = HRegion.newHRegion(dir, wal, fs, conf, info,
    htd, rsServices);
  return r.openHRegion(reporter);
}
项目:hindex    文件:HRegion.java   
/**
 * Initialize this region.
 *
 * @param reporter Tickle every so often if initialize is taking a while.
 * @return What the next sequence (edit) id should be.
 * @throws IOException e
 */
public long initialize(final CancelableProgressable reporter)
    throws IOException {

  MonitoredTask status = TaskMonitor.get().createStatus(
      "Initializing region " + this);

  long nextSeqId = -1;
  try {
    nextSeqId = initializeRegionInternals(reporter, status);
    return nextSeqId;
  } finally {
    // nextSeqid will be -1 if the initialization fails.
    // At least it will be 0 otherwise.
    if (nextSeqId == -1) {
      status.abort("Exception during region " + this.getRegionNameAsString()
          + " initialization.");
    }
  }
}
项目:hindex    文件:HRegion.java   
/**
 * Open a Region.
 * @param info Info for region to be opened
 * @param htd
 * @param wal HLog for region to use. This method will call
 * HLog#setSequenceNumber(long) passing the result of the call to
 * HRegion#getMinSequenceId() to ensure the log id is properly kept
 * up.  HRegionStore does this every time it opens a new region.
 * @param conf
 * @param rsServices An interface we can request flushes against.
 * @param reporter An interface we can report progress against.
 * @return new HRegion
 *
 * @throws IOException
 */
public static HRegion openHRegion(final HRegionInfo info,
  final HTableDescriptor htd, final HLog wal, final Configuration conf,
  final RegionServerServices rsServices,
  final CancelableProgressable reporter)
throws IOException {
  if (LOG.isDebugEnabled()) {
    LOG.debug("Opening region: " + info);
  }
  if (info == null) {
    throw new NullPointerException("Passed region info is null");
  }
  Path dir = HTableDescriptor.getTableDir(FSUtils.getRootDir(conf),
    info.getTableName());
  FileSystem fs = null;
  if (rsServices != null) {
    fs = rsServices.getFileSystem();
  }
  if (fs == null) {
    fs = FileSystem.get(conf);
  }
  HRegion r = HRegion.newHRegion(dir, wal, fs, conf, info,
    htd, rsServices);
  return r.openHRegion(reporter);
}
项目:hindex    文件:HRegion.java   
/**
 * Open a Region.
 * @param tableDir Table directory
 * @param info Info for region to be opened.
 * @param wal HLog for region to use. This method will call
 * HLog#setSequenceNumber(long) passing the result of the call to
 * HRegion#getMinSequenceId() to ensure the log id is properly kept
 * up.  HRegionStore does this every time it opens a new region.
 * @param conf
 * @param reporter An interface we can report progress against.
 * @return new HRegion
 *
 * @throws IOException
 */
public static HRegion openHRegion(final Path tableDir, final HRegionInfo info,
    final HTableDescriptor htd, final HLog wal, final Configuration conf,
    final RegionServerServices rsServices,
    final CancelableProgressable reporter)
throws IOException {
  if (info == null) throw new NullPointerException("Passed region info is null");
  LOG.info("HRegion.openHRegion Region name ==" + info.getRegionNameAsString());
  if (LOG.isDebugEnabled()) {
    LOG.debug("Opening region: " + info);
  }
  Path dir = HTableDescriptor.getTableDir(tableDir,
      info.getTableName());
  HRegion r = HRegion.newHRegion(dir, wal, FileSystem.get(conf), conf, info,
      htd, rsServices);
  return r.openHRegion(reporter);
}
项目:ditb    文件:ReplicationSource.java   
private void recoverLease(final Configuration conf, final Path path) {
  try {
    final FileSystem dfs = FSUtils.getCurrentFileSystem(conf);
    FSUtils fsUtils = FSUtils.getInstance(dfs, conf);
    fsUtils.recoverFileLease(dfs, path, conf, new CancelableProgressable() {
      @Override
      public boolean progress() {
        LOG.debug("recover WAL lease: " + path);
        return isWorkerActive();
      }
    });
  } catch (IOException e) {
    LOG.warn("unable to recover lease for WAL: " + path, e);
  }
}
项目:ditb    文件:ZkSplitLogWorkerCoordination.java   
/**
 * Submit a log split task to executor service
 * @param curTask task to submit
 * @param curTaskZKVersion current version of task
 */
void submitTask(final String curTask, final RecoveryMode mode, final int curTaskZKVersion,
    final int reportPeriod) {
  final MutableInt zkVersion = new MutableInt(curTaskZKVersion);

  CancelableProgressable reporter = new CancelableProgressable() {
    private long last_report_at = 0;

    @Override
    public boolean progress() {
      long t = EnvironmentEdgeManager.currentTime();
      if ((t - last_report_at) > reportPeriod) {
        last_report_at = t;
        int latestZKVersion =
            attemptToOwnTask(false, watcher, server.getServerName(), curTask,
              mode, zkVersion.intValue());
        if (latestZKVersion < 0) {
          LOG.warn("Failed to heartbeat the task" + curTask);
          return false;
        }
        zkVersion.setValue(latestZKVersion);
      }
      return true;
    }
  };
  ZkSplitLogWorkerCoordination.ZkSplitTaskDetails splitTaskDetails =
      new ZkSplitLogWorkerCoordination.ZkSplitTaskDetails();
  splitTaskDetails.setTaskNode(curTask);
  splitTaskDetails.setCurTaskZKVersion(zkVersion);

  WALSplitterHandler hsh =
      new WALSplitterHandler(server, this, splitTaskDetails, reporter,
          this.tasksInProgress, splitTaskExecutor, mode);
  server.getExecutorService().submit(hsh);
}
项目:ditb    文件:MasterProcedureEnv.java   
@Override
public void recoverFileLease(final FileSystem fs, final Path path) throws IOException {
  final Configuration conf = master.getConfiguration();
  final FSUtils fsUtils = FSUtils.getInstance(fs, conf);
  fsUtils.recoverFileLease(fs, path, conf, new CancelableProgressable() {
    @Override
    public boolean progress() {
      LOG.debug("Recover Procedure Store log lease: " + path);
      return master.isActiveMaster();
    }
  });
}
项目:ditb    文件:WALSplitterHandler.java   
public WALSplitterHandler(final Server server, SplitLogWorkerCoordination coordination,
    SplitLogWorkerCoordination.SplitTaskDetails splitDetails, CancelableProgressable reporter,
    AtomicInteger inProgressTasks, TaskExecutor splitTaskExecutor, RecoveryMode mode) {
  super(server, EventType.RS_LOG_REPLAY);
  this.splitTaskDetails = splitDetails;
  this.coordination = coordination;
  this.reporter = reporter;
  this.inProgressTasks = inProgressTasks;
  this.inProgressTasks.incrementAndGet();
  this.serverName = server.getServerName();
  this.splitTaskExecutor = splitTaskExecutor;
  this.mode = mode;
}
项目:ditb    文件:HRegion.java   
/**
 * Useful when reopening a closed region (normally for unit tests)
 *
 * @param other    original object
 * @param reporter An interface we can report progress against.
 * @return new HRegion
 * @throws IOException
 */
public static HRegion openHRegion(final HRegion other, final CancelableProgressable reporter)
    throws IOException {
  HRegionFileSystem regionFs = other.getRegionFileSystem();
  HRegion r =
      newHRegion(regionFs.getTableDir(), other.getWAL(), regionFs.getFileSystem(), other.baseConf,
          other.getRegionInfo(), other.getTableDesc(), null);
  return r.openHRegion(reporter);
}
项目:ditb    文件:HRegion.java   
private void initializeWarmup(final CancelableProgressable reporter) throws IOException {
  MonitoredTask status = TaskMonitor.get().createStatus("Initializing region " + this);
  // Initialize all the HStores
  status.setStatus("Warming up all the Stores");
  try {
    initializeStores(reporter, status);
  } finally {
    status.markComplete("Done warming up.");
  }
}
项目:ditb    文件:TestSplitLogWorker.java   
@Override
public Status exec(String name, RecoveryMode mode, CancelableProgressable p) {
  while (true) {
    try {
      Thread.sleep(1000);
    } catch (InterruptedException e) {
      return Status.PREEMPTED;
    }
    if (!p.progress()) {
      return Status.PREEMPTED;
    }
  }
}