Java 类org.apache.hadoop.hbase.procedure.Subprocedure 实例源码

项目:hbase    文件:LogRollRegionServerProcedureManager.java   
/**
 * If in a running state, creates the specified subprocedure for handling a backup procedure.
 * @return Subprocedure to submit to the ProcedureMemeber.
 */
public Subprocedure buildSubprocedure(byte[] data) {
  // don't run a backup if the parent is stop(ping)
  if (rss.isStopping() || rss.isStopped()) {
    throw new IllegalStateException("Can't start backup procedure on RS: " + rss.getServerName()
        + ", because stopping/stopped!");
  }

  LOG.info("Attempting to run a roll log procedure for backup.");
  ForeignExceptionDispatcher errorDispatcher = new ForeignExceptionDispatcher();
  Configuration conf = rss.getConfiguration();
  long timeoutMillis = conf.getLong(BACKUP_TIMEOUT_MILLIS_KEY, BACKUP_TIMEOUT_MILLIS_DEFAULT);
  long wakeMillis =
      conf.getLong(BACKUP_REQUEST_WAKE_MILLIS_KEY, BACKUP_REQUEST_WAKE_MILLIS_DEFAULT);

  LogRollBackupSubprocedurePool taskManager =
      new LogRollBackupSubprocedurePool(rss.getServerName().toString(), conf);
  return new LogRollBackupSubprocedure(rss, member, errorDispatcher, wakeMillis, timeoutMillis,
      taskManager, data);
}
项目:ditb    文件:RegionServerFlushTableProcedureManager.java   
/**
 * If in a running state, creates the specified subprocedure to flush table regions.
 *
 * Because this gets the local list of regions to flush and not the set the master had,
 * there is a possibility of a race where regions may be missed.
 *
 * @param table
 * @return Subprocedure to submit to the ProcedureMemeber.
 */
public Subprocedure buildSubprocedure(String table) {

  // don't run the subprocedure if the parent is stop(ping)
  if (rss.isStopping() || rss.isStopped()) {
    throw new IllegalStateException("Can't start flush region subprocedure on RS: "
        + rss.getServerName() + ", because stopping/stopped!");
  }

  // check to see if this server is hosting any regions for the table
  List<Region> involvedRegions;
  try {
    involvedRegions = getRegionsToFlush(table);
  } catch (IOException e1) {
    throw new IllegalStateException("Failed to figure out if there is region to flush.", e1);
  }

  // We need to run the subprocedure even if we have no relevant regions.  The coordinator
  // expects participation in the procedure and without sending message the master procedure
  // will hang and fail.

  LOG.debug("Launching subprocedure to flush regions for " + table);
  ForeignExceptionDispatcher exnDispatcher = new ForeignExceptionDispatcher(table);
  Configuration conf = rss.getConfiguration();
  long timeoutMillis = conf.getLong(FLUSH_TIMEOUT_MILLIS_KEY,
      FLUSH_TIMEOUT_MILLIS_DEFAULT);
  long wakeMillis = conf.getLong(FLUSH_REQUEST_WAKE_MILLIS_KEY,
      FLUSH_REQUEST_WAKE_MILLIS_DEFAULT);

  FlushTableSubprocedurePool taskManager =
      new FlushTableSubprocedurePool(rss.getServerName().toString(), conf, rss);
  return new FlushTableSubprocedure(member, exnDispatcher, wakeMillis,
    timeoutMillis, involvedRegions, table, taskManager);
}
项目:ditb    文件:RegionServerSnapshotManager.java   
@Override
public Subprocedure buildSubprocedure(String name, byte[] data) {
  try {
    // unwrap the snapshot information
    SnapshotDescription snapshot = SnapshotDescription.parseFrom(data);
    return RegionServerSnapshotManager.this.buildSubprocedure(snapshot);
  } catch (InvalidProtocolBufferException e) {
    throw new IllegalArgumentException("Could not read snapshot information from request.");
  }
}
项目:LCIndex-HBase-0.94.16    文件:RegionServerSnapshotManager.java   
@Override
public Subprocedure buildSubprocedure(String name, byte[] data) {
  try {
    // unwrap the snapshot information
    SnapshotDescription snapshot = SnapshotDescription.parseFrom(data);
    return RegionServerSnapshotManager.this.buildSubprocedure(snapshot);
  } catch (InvalidProtocolBufferException e) {
    throw new IllegalArgumentException("Could not read snapshot information from request.");
  }
}
项目:pbase    文件:RegionServerFlushTableProcedureManager.java   
/**
 * If in a running state, creates the specified subprocedure to flush table regions.
 *
 * Because this gets the local list of regions to flush and not the set the master had,
 * there is a possibility of a race where regions may be missed.
 *
 * @param table
 * @return Subprocedure to submit to the ProcedureMemeber.
 */
public Subprocedure buildSubprocedure(String table) {

  // don't run the subprocedure if the parent is stop(ping)
  if (rss.isStopping() || rss.isStopped()) {
    throw new IllegalStateException("Can't start flush region subprocedure on RS: "
        + rss.getServerName() + ", because stopping/stopped!");
  }

  // check to see if this server is hosting any regions for the table
  List<HRegion> involvedRegions;
  try {
    involvedRegions = getRegionsToFlush(table);
  } catch (IOException e1) {
    throw new IllegalStateException("Failed to figure out if there is region to flush.", e1);
  }

  // We need to run the subprocedure even if we have no relevant regions.  The coordinator
  // expects participation in the procedure and without sending message the master procedure
  // will hang and fail.

  LOG.debug("Launching subprocedure to flush regions for " + table);
  ForeignExceptionDispatcher exnDispatcher = new ForeignExceptionDispatcher(table);
  Configuration conf = rss.getConfiguration();
  long timeoutMillis = conf.getLong(FLUSH_TIMEOUT_MILLIS_KEY,
      FLUSH_TIMEOUT_MILLIS_DEFAULT);
  long wakeMillis = conf.getLong(FLUSH_REQUEST_WAKE_MILLIS_KEY,
      FLUSH_REQUEST_WAKE_MILLIS_DEFAULT);

  FlushTableSubprocedurePool taskManager =
      new FlushTableSubprocedurePool(rss.getServerName().toString(), conf);
  return new FlushTableSubprocedure(member, exnDispatcher, wakeMillis,
    timeoutMillis, involvedRegions, table, taskManager);
}
项目:pbase    文件:RegionServerSnapshotManager.java   
@Override
public Subprocedure buildSubprocedure(String name, byte[] data) {
  try {
    // unwrap the snapshot information
    SnapshotDescription snapshot = SnapshotDescription.parseFrom(data);
    return RegionServerSnapshotManager.this.buildSubprocedure(snapshot);
  } catch (InvalidProtocolBufferException e) {
    throw new IllegalArgumentException("Could not read snapshot information from request.");
  }
}
项目:HIndex    文件:RegionServerSnapshotManager.java   
@Override
public Subprocedure buildSubprocedure(String name, byte[] data) {
  try {
    // unwrap the snapshot information
    SnapshotDescription snapshot = SnapshotDescription.parseFrom(data);
    return RegionServerSnapshotManager.this.buildSubprocedure(snapshot);
  } catch (InvalidProtocolBufferException e) {
    throw new IllegalArgumentException("Could not read snapshot information from request.");
  }
}
项目:IRIndex    文件:RegionServerSnapshotManager.java   
@Override
public Subprocedure buildSubprocedure(String name, byte[] data) {
  try {
    // unwrap the snapshot information
    SnapshotDescription snapshot = SnapshotDescription.parseFrom(data);
    return RegionServerSnapshotManager.this.buildSubprocedure(snapshot);
  } catch (InvalidProtocolBufferException e) {
    throw new IllegalArgumentException("Could not read snapshot information from request.");
  }
}
项目:hbase    文件:RegionServerFlushTableProcedureManager.java   
/**
 * If in a running state, creates the specified subprocedure to flush table regions.
 *
 * Because this gets the local list of regions to flush and not the set the master had,
 * there is a possibility of a race where regions may be missed.
 *
 * @param table
 * @return Subprocedure to submit to the ProcedureMemeber.
 */
public Subprocedure buildSubprocedure(String table) {

  // don't run the subprocedure if the parent is stop(ping)
  if (rss.isStopping() || rss.isStopped()) {
    throw new IllegalStateException("Can't start flush region subprocedure on RS: "
        + rss.getServerName() + ", because stopping/stopped!");
  }

  // check to see if this server is hosting any regions for the table
  List<HRegion> involvedRegions;
  try {
    involvedRegions = getRegionsToFlush(table);
  } catch (IOException e1) {
    throw new IllegalStateException("Failed to figure out if there is region to flush.", e1);
  }

  // We need to run the subprocedure even if we have no relevant regions.  The coordinator
  // expects participation in the procedure and without sending message the master procedure
  // will hang and fail.

  LOG.debug("Launching subprocedure to flush regions for " + table);
  ForeignExceptionDispatcher exnDispatcher = new ForeignExceptionDispatcher(table);
  Configuration conf = rss.getConfiguration();
  long timeoutMillis = conf.getLong(FLUSH_TIMEOUT_MILLIS_KEY,
      FLUSH_TIMEOUT_MILLIS_DEFAULT);
  long wakeMillis = conf.getLong(FLUSH_REQUEST_WAKE_MILLIS_KEY,
      FLUSH_REQUEST_WAKE_MILLIS_DEFAULT);

  FlushTableSubprocedurePool taskManager =
      new FlushTableSubprocedurePool(rss.getServerName().toString(), conf, rss);
  return new FlushTableSubprocedure(member, exnDispatcher, wakeMillis,
    timeoutMillis, involvedRegions, table, taskManager);
}
项目:hbase    文件:RegionServerSnapshotManager.java   
@Override
public Subprocedure buildSubprocedure(String name, byte[] data) {
  try {
    // unwrap the snapshot information
    SnapshotDescription snapshot = SnapshotDescription.parseFrom(data);
    return RegionServerSnapshotManager.this.buildSubprocedure(snapshot);
  } catch (IOException e) {
    throw new IllegalArgumentException("Could not read snapshot information from request.");
  }
}
项目:PyroDB    文件:RegionServerFlushTableProcedureManager.java   
/**
 * If in a running state, creates the specified subprocedure to flush table regions.
 *
 * Because this gets the local list of regions to flush and not the set the master had,
 * there is a possibility of a race where regions may be missed.
 *
 * @param table
 * @return Subprocedure to submit to the ProcedureMemeber.
 */
public Subprocedure buildSubprocedure(String table) {

  // don't run the subprocedure if the parent is stop(ping)
  if (rss.isStopping() || rss.isStopped()) {
    throw new IllegalStateException("Can't start flush region subprocedure on RS: "
        + rss.getServerName() + ", because stopping/stopped!");
  }

  // check to see if this server is hosting any regions for the table
  List<HRegion> involvedRegions;
  try {
    involvedRegions = getRegionsToFlush(table);
  } catch (IOException e1) {
    throw new IllegalStateException("Failed to figure out if there is region to flush.", e1);
  }

  // We need to run the subprocedure even if we have no relevant regions.  The coordinator
  // expects participation in the procedure and without sending message the master procedure
  // will hang and fail.

  LOG.debug("Launching subprocedure to flush regions for " + table);
  ForeignExceptionDispatcher exnDispatcher = new ForeignExceptionDispatcher(table);
  Configuration conf = rss.getConfiguration();
  long timeoutMillis = conf.getLong(FLUSH_TIMEOUT_MILLIS_KEY,
      FLUSH_TIMEOUT_MILLIS_DEFAULT);
  long wakeMillis = conf.getLong(FLUSH_REQUEST_WAKE_MILLIS_KEY,
      FLUSH_REQUEST_WAKE_MILLIS_DEFAULT);

  FlushTableSubprocedurePool taskManager =
      new FlushTableSubprocedurePool(rss.getServerName().toString(), conf);
  return new FlushTableSubprocedure(member, exnDispatcher, wakeMillis,
    timeoutMillis, involvedRegions, table, taskManager);
}
项目:PyroDB    文件:RegionServerSnapshotManager.java   
@Override
public Subprocedure buildSubprocedure(String name, byte[] data) {
  try {
    // unwrap the snapshot information
    SnapshotDescription snapshot = SnapshotDescription.parseFrom(data);
    return RegionServerSnapshotManager.this.buildSubprocedure(snapshot);
  } catch (InvalidProtocolBufferException e) {
    throw new IllegalArgumentException("Could not read snapshot information from request.");
  }
}
项目:c5    文件:RegionServerSnapshotManager.java   
@Override
public Subprocedure buildSubprocedure(String name, byte[] data) {
  try {
    // unwrap the snapshot information
    SnapshotDescription snapshot = SnapshotDescription.parseFrom(data);
    return RegionServerSnapshotManager.this.buildSubprocedure(snapshot);
  } catch (InvalidProtocolBufferException e) {
    throw new IllegalArgumentException("Could not read snapshot information from request.");
  }
}
项目:HBase-Research    文件:RegionServerSnapshotManager.java   
@Override
public Subprocedure buildSubprocedure(String name, byte[] data) {
  try {
    // unwrap the snapshot information
    SnapshotDescription snapshot = SnapshotDescription.parseFrom(data);
    return RegionServerSnapshotManager.this.buildSubprocedure(snapshot);
  } catch (InvalidProtocolBufferException e) {
    throw new IllegalArgumentException("Could not read snapshot information from request.");
  }
}
项目:hbase-0.94.8-qod    文件:RegionServerSnapshotManager.java   
@Override
public Subprocedure buildSubprocedure(String name, byte[] data) {
  try {
    // unwrap the snapshot information
    SnapshotDescription snapshot = SnapshotDescription.parseFrom(data);
    return RegionServerSnapshotManager.this.buildSubprocedure(snapshot);
  } catch (InvalidProtocolBufferException e) {
    throw new IllegalArgumentException("Could not read snapshot information from request.");
  }
}
项目:hbase-0.94.8-qod    文件:RegionServerSnapshotManager.java   
@Override
public Subprocedure buildSubprocedure(String name, byte[] data) {
  try {
    // unwrap the snapshot information
    SnapshotDescription snapshot = SnapshotDescription.parseFrom(data);
    return RegionServerSnapshotManager.this.buildSubprocedure(snapshot);
  } catch (InvalidProtocolBufferException e) {
    throw new IllegalArgumentException("Could not read snapshot information from request.");
  }
}
项目:hindex    文件:RegionServerSnapshotManager.java   
@Override
public Subprocedure buildSubprocedure(String name, byte[] data) {
  try {
    // unwrap the snapshot information
    SnapshotDescription snapshot = SnapshotDescription.parseFrom(data);
    return RegionServerSnapshotManager.this.buildSubprocedure(snapshot);
  } catch (InvalidProtocolBufferException e) {
    throw new IllegalArgumentException("Could not read snapshot information from request.");
  }
}
项目:ditb    文件:RegionServerFlushTableProcedureManager.java   
@Override
public Subprocedure buildSubprocedure(String name, byte[] data) {
  // The name of the procedure instance from the master is the table name.
  return RegionServerFlushTableProcedureManager.this.buildSubprocedure(name);
}
项目:ditb    文件:RegionServerSnapshotManager.java   
/**
 * If in a running state, creates the specified subprocedure for handling an online snapshot.
 *
 * Because this gets the local list of regions to snapshot and not the set the master had,
 * there is a possibility of a race where regions may be missed.  This detected by the master in
 * the snapshot verification step.
 *
 * @param snapshot
 * @return Subprocedure to submit to the ProcedureMemeber.
 */
public Subprocedure buildSubprocedure(SnapshotDescription snapshot) {

  // don't run a snapshot if the parent is stop(ping)
  if (rss.isStopping() || rss.isStopped()) {
    throw new IllegalStateException("Can't start snapshot on RS: " + rss.getServerName()
        + ", because stopping/stopped!");
  }

  // check to see if this server is hosting any regions for the snapshots
  // check to see if we have regions for the snapshot
  List<Region> involvedRegions;
  try {
    involvedRegions = getRegionsToSnapshot(snapshot);
  } catch (IOException e1) {
    throw new IllegalStateException("Failed to figure out if we should handle a snapshot - "
        + "something has gone awry with the online regions.", e1);
  }

  // We need to run the subprocedure even if we have no relevant regions.  The coordinator
  // expects participation in the procedure and without sending message the snapshot attempt
  // will hang and fail.

  LOG.debug("Launching subprocedure for snapshot " + snapshot.getName() + " from table "
      + snapshot.getTable() + " type " + snapshot.getType());
  ForeignExceptionDispatcher exnDispatcher = new ForeignExceptionDispatcher(snapshot.getName());
  Configuration conf = rss.getConfiguration();
  long timeoutMillis = conf.getLong(SNAPSHOT_TIMEOUT_MILLIS_KEY,
      SNAPSHOT_TIMEOUT_MILLIS_DEFAULT);
  long wakeMillis = conf.getLong(SNAPSHOT_REQUEST_WAKE_MILLIS_KEY,
      SNAPSHOT_REQUEST_WAKE_MILLIS_DEFAULT);

  switch (snapshot.getType()) {
  case FLUSH:
    SnapshotSubprocedurePool taskManager =
      new SnapshotSubprocedurePool(rss.getServerName().toString(), conf, rss);
    return new FlushSnapshotSubprocedure(member, exnDispatcher, wakeMillis,
        timeoutMillis, involvedRegions, snapshot, taskManager);
  case SKIPFLUSH:
      /*
       * This is to take an online-snapshot without force a coordinated flush to prevent pause
       * The snapshot type is defined inside the snapshot description. FlushSnapshotSubprocedure
       * should be renamed to distributedSnapshotSubprocedure, and the flush() behavior can be
       * turned on/off based on the flush type.
       * To minimized the code change, class name is not changed.
       */
      SnapshotSubprocedurePool taskManager2 =
          new SnapshotSubprocedurePool(rss.getServerName().toString(), conf, rss);
      return new FlushSnapshotSubprocedure(member, exnDispatcher, wakeMillis,
          timeoutMillis, involvedRegions, snapshot, taskManager2);

  default:
    throw new UnsupportedOperationException("Unrecognized snapshot type:" + snapshot.getType());
  }
}
项目:LCIndex-HBase-0.94.16    文件:RegionServerSnapshotManager.java   
/**
 * If in a running state, creates the specified subprocedure for handling an online snapshot.
 *
 * Because this gets the local list of regions to snapshot and not the set the master had,
 * there is a possibility of a race where regions may be missed.  This detected by the master in
 * the snapshot verification step.
 *
 * @param snapshot
 * @return Subprocedure to submit to the ProcedureMemeber.
 */
public Subprocedure buildSubprocedure(SnapshotDescription snapshot) {

  // don't run a snapshot if the parent is stop(ping)
  if (rss.isStopping() || rss.isStopped()) {
    throw new IllegalStateException("Can't start snapshot on RS: " + rss.getServerName()
        + ", because stopping/stopped!");
  }

  // check to see if this server is hosting any regions for the snapshots
  // check to see if we have regions for the snapshot
  List<HRegion> involvedRegions;
  try {
    involvedRegions = getRegionsToSnapshot(snapshot);
  } catch (IOException e1) {
    throw new IllegalStateException("Failed to figure out if we should handle a snapshot - "
        + "something has gone awry with the online regions.", e1);
  }

  // We need to run the subprocedure even if we have no relevant regions.  The coordinator
  // expects participation in the procedure and without sending message the snapshot attempt
  // will hang and fail.

  LOG.debug("Launching subprocedure for snapshot " + snapshot.getName() + " from table "
      + snapshot.getTable());
  ForeignExceptionDispatcher exnDispatcher = new ForeignExceptionDispatcher(snapshot.getName());
  Configuration conf = rss.getConfiguration();
  long timeoutMillis = conf.getLong(SNAPSHOT_TIMEOUT_MILLIS_KEY,
      SNAPSHOT_TIMEOUT_MILLIS_DEFAULT);
  long wakeMillis = conf.getLong(SNAPSHOT_REQUEST_WAKE_MILLIS_KEY,
      SNAPSHOT_REQUEST_WAKE_MILLIS_DEFAULT);

  switch (snapshot.getType()) {
  case FLUSH:
    SnapshotSubprocedurePool taskManager =
      new SnapshotSubprocedurePool(rss.getServerName().toString(), conf);
    return new FlushSnapshotSubprocedure(member, exnDispatcher, wakeMillis,
        timeoutMillis, involvedRegions, snapshot, taskManager);
  default:
    throw new UnsupportedOperationException("Unrecognized snapshot type:" + snapshot.getType());
  }
}
项目:pbase    文件:RegionServerFlushTableProcedureManager.java   
@Override
public Subprocedure buildSubprocedure(String name, byte[] data) {
  // The name of the procedure instance from the master is the table name.
  return RegionServerFlushTableProcedureManager.this.buildSubprocedure(name);
}
项目:pbase    文件:RegionServerSnapshotManager.java   
/**
 * If in a running state, creates the specified subprocedure for handling an online snapshot.
 *
 * Because this gets the local list of regions to snapshot and not the set the master had,
 * there is a possibility of a race where regions may be missed.  This detected by the master in
 * the snapshot verification step.
 *
 * @param snapshot
 * @return Subprocedure to submit to the ProcedureMemeber.
 */
public Subprocedure buildSubprocedure(SnapshotDescription snapshot) {

  // don't run a snapshot if the parent is stop(ping)
  if (rss.isStopping() || rss.isStopped()) {
    throw new IllegalStateException("Can't start snapshot on RS: " + rss.getServerName()
        + ", because stopping/stopped!");
  }

  // check to see if this server is hosting any regions for the snapshots
  // check to see if we have regions for the snapshot
  List<HRegion> involvedRegions;
  try {
    involvedRegions = getRegionsToSnapshot(snapshot);
  } catch (IOException e1) {
    throw new IllegalStateException("Failed to figure out if we should handle a snapshot - "
        + "something has gone awry with the online regions.", e1);
  }

  // We need to run the subprocedure even if we have no relevant regions.  The coordinator
  // expects participation in the procedure and without sending message the snapshot attempt
  // will hang and fail.

  LOG.debug("Launching subprocedure for snapshot " + snapshot.getName() + " from table "
      + snapshot.getTable());
  ForeignExceptionDispatcher exnDispatcher = new ForeignExceptionDispatcher(snapshot.getName());
  Configuration conf = rss.getConfiguration();
  long timeoutMillis = conf.getLong(SNAPSHOT_TIMEOUT_MILLIS_KEY,
      SNAPSHOT_TIMEOUT_MILLIS_DEFAULT);
  long wakeMillis = conf.getLong(SNAPSHOT_REQUEST_WAKE_MILLIS_KEY,
      SNAPSHOT_REQUEST_WAKE_MILLIS_DEFAULT);

  switch (snapshot.getType()) {
  case FLUSH:
    SnapshotSubprocedurePool taskManager =
      new SnapshotSubprocedurePool(rss.getServerName().toString(), conf);
    return new FlushSnapshotSubprocedure(member, exnDispatcher, wakeMillis,
        timeoutMillis, involvedRegions, snapshot, taskManager);
  case SKIPFLUSH:
      /*
       * This is to take an online-snapshot without force a coordinated flush to prevent pause
       * The snapshot type is defined inside the snapshot description. FlushSnapshotSubprocedure
       * should be renamed to distributedSnapshotSubprocedure, and the flush() behavior can be
       * turned on/off based on the flush type.
       * To minimized the code change, class name is not changed.
       */
      SnapshotSubprocedurePool taskManager2 =
          new SnapshotSubprocedurePool(rss.getServerName().toString(), conf);
      return new FlushSnapshotSubprocedure(member, exnDispatcher, wakeMillis,
          timeoutMillis, involvedRegions, snapshot, taskManager2);

  default:
    throw new UnsupportedOperationException("Unrecognized snapshot type:" + snapshot.getType());
  }
}
项目:HIndex    文件:RegionServerSnapshotManager.java   
/**
 * If in a running state, creates the specified subprocedure for handling an online snapshot.
 *
 * Because this gets the local list of regions to snapshot and not the set the master had,
 * there is a possibility of a race where regions may be missed.  This detected by the master in
 * the snapshot verification step.
 *
 * @param snapshot
 * @return Subprocedure to submit to the ProcedureMemeber.
 */
public Subprocedure buildSubprocedure(SnapshotDescription snapshot) {

  // don't run a snapshot if the parent is stop(ping)
  if (rss.isStopping() || rss.isStopped()) {
    throw new IllegalStateException("Can't start snapshot on RS: " + rss.getServerName()
        + ", because stopping/stopped!");
  }

  // check to see if this server is hosting any regions for the snapshots
  // check to see if we have regions for the snapshot
  List<HRegion> involvedRegions;
  try {
    involvedRegions = getRegionsToSnapshot(snapshot);
  } catch (IOException e1) {
    throw new IllegalStateException("Failed to figure out if we should handle a snapshot - "
        + "something has gone awry with the online regions.", e1);
  }

  // We need to run the subprocedure even if we have no relevant regions.  The coordinator
  // expects participation in the procedure and without sending message the snapshot attempt
  // will hang and fail.

  LOG.debug("Launching subprocedure for snapshot " + snapshot.getName() + " from table "
      + snapshot.getTable());
  ForeignExceptionDispatcher exnDispatcher = new ForeignExceptionDispatcher(snapshot.getName());
  Configuration conf = rss.getConfiguration();
  long timeoutMillis = conf.getLong(SNAPSHOT_TIMEOUT_MILLIS_KEY,
      SNAPSHOT_TIMEOUT_MILLIS_DEFAULT);
  long wakeMillis = conf.getLong(SNAPSHOT_REQUEST_WAKE_MILLIS_KEY,
      SNAPSHOT_REQUEST_WAKE_MILLIS_DEFAULT);

  switch (snapshot.getType()) {
  case FLUSH:
    SnapshotSubprocedurePool taskManager =
      new SnapshotSubprocedurePool(rss.getServerName().toString(), conf);
    return new FlushSnapshotSubprocedure(member, exnDispatcher, wakeMillis,
        timeoutMillis, involvedRegions, snapshot, taskManager);
  default:
    throw new UnsupportedOperationException("Unrecognized snapshot type:" + snapshot.getType());
  }
}
项目:IRIndex    文件:RegionServerSnapshotManager.java   
/**
 * If in a running state, creates the specified subprocedure for handling an online snapshot.
 *
 * Because this gets the local list of regions to snapshot and not the set the master had,
 * there is a possibility of a race where regions may be missed.  This detected by the master in
 * the snapshot verification step.
 *
 * @param snapshot
 * @return Subprocedure to submit to the ProcedureMemeber.
 */
public Subprocedure buildSubprocedure(SnapshotDescription snapshot) {

  // don't run a snapshot if the parent is stop(ping)
  if (rss.isStopping() || rss.isStopped()) {
    throw new IllegalStateException("Can't start snapshot on RS: " + rss.getServerName()
        + ", because stopping/stopped!");
  }

  // check to see if this server is hosting any regions for the snapshots
  // check to see if we have regions for the snapshot
  List<HRegion> involvedRegions;
  try {
    involvedRegions = getRegionsToSnapshot(snapshot);
  } catch (IOException e1) {
    throw new IllegalStateException("Failed to figure out if we should handle a snapshot - "
        + "something has gone awry with the online regions.", e1);
  }

  // We need to run the subprocedure even if we have no relevant regions.  The coordinator
  // expects participation in the procedure and without sending message the snapshot attempt
  // will hang and fail.

  LOG.debug("Launching subprocedure for snapshot " + snapshot.getName() + " from table "
      + snapshot.getTable());
  ForeignExceptionDispatcher exnDispatcher = new ForeignExceptionDispatcher(snapshot.getName());
  Configuration conf = rss.getConfiguration();
  long timeoutMillis = conf.getLong(SNAPSHOT_TIMEOUT_MILLIS_KEY,
      SNAPSHOT_TIMEOUT_MILLIS_DEFAULT);
  long wakeMillis = conf.getLong(SNAPSHOT_REQUEST_WAKE_MILLIS_KEY,
      SNAPSHOT_REQUEST_WAKE_MILLIS_DEFAULT);

  switch (snapshot.getType()) {
  case FLUSH:
    SnapshotSubprocedurePool taskManager =
      new SnapshotSubprocedurePool(rss.getServerName().toString(), conf);
    return new FlushSnapshotSubprocedure(member, exnDispatcher, wakeMillis,
        timeoutMillis, involvedRegions, snapshot, taskManager);
  default:
    throw new UnsupportedOperationException("Unrecognized snapshot type:" + snapshot.getType());
  }
}
项目:hbase    文件:LogRollRegionServerProcedureManager.java   
@Override
public Subprocedure buildSubprocedure(String name, byte[] data) {
  return LogRollRegionServerProcedureManager.this.buildSubprocedure(data);
}
项目:hbase    文件:RegionServerFlushTableProcedureManager.java   
@Override
public Subprocedure buildSubprocedure(String name, byte[] data) {
  // The name of the procedure instance from the master is the table name.
  return RegionServerFlushTableProcedureManager.this.buildSubprocedure(name);
}
项目:hbase    文件:RegionServerSnapshotManager.java   
/**
 * If in a running state, creates the specified subprocedure for handling an online snapshot.
 *
 * Because this gets the local list of regions to snapshot and not the set the master had,
 * there is a possibility of a race where regions may be missed.  This detected by the master in
 * the snapshot verification step.
 *
 * @param snapshot
 * @return Subprocedure to submit to the ProcedureMemeber.
 */
public Subprocedure buildSubprocedure(SnapshotDescription snapshot) {

  // don't run a snapshot if the parent is stop(ping)
  if (rss.isStopping() || rss.isStopped()) {
    throw new IllegalStateException("Can't start snapshot on RS: " + rss.getServerName()
        + ", because stopping/stopped!");
  }

  // check to see if this server is hosting any regions for the snapshots
  // check to see if we have regions for the snapshot
  List<HRegion> involvedRegions;
  try {
    involvedRegions = getRegionsToSnapshot(snapshot);
  } catch (IOException e1) {
    throw new IllegalStateException("Failed to figure out if we should handle a snapshot - "
        + "something has gone awry with the online regions.", e1);
  }

  // We need to run the subprocedure even if we have no relevant regions.  The coordinator
  // expects participation in the procedure and without sending message the snapshot attempt
  // will hang and fail.

  LOG.debug("Launching subprocedure for snapshot " + snapshot.getName() + " from table "
      + snapshot.getTable() + " type " + snapshot.getType());
  ForeignExceptionDispatcher exnDispatcher = new ForeignExceptionDispatcher(snapshot.getName());
  Configuration conf = rss.getConfiguration();
  long timeoutMillis = conf.getLong(SNAPSHOT_TIMEOUT_MILLIS_KEY,
      SNAPSHOT_TIMEOUT_MILLIS_DEFAULT);
  long wakeMillis = conf.getLong(SNAPSHOT_REQUEST_WAKE_MILLIS_KEY,
      SNAPSHOT_REQUEST_WAKE_MILLIS_DEFAULT);

  switch (snapshot.getType()) {
  case FLUSH:
    SnapshotSubprocedurePool taskManager =
      new SnapshotSubprocedurePool(rss.getServerName().toString(), conf, rss);
    return new FlushSnapshotSubprocedure(member, exnDispatcher, wakeMillis,
        timeoutMillis, involvedRegions, snapshot, taskManager);
  case SKIPFLUSH:
      /*
       * This is to take an online-snapshot without force a coordinated flush to prevent pause
       * The snapshot type is defined inside the snapshot description. FlushSnapshotSubprocedure
       * should be renamed to distributedSnapshotSubprocedure, and the flush() behavior can be
       * turned on/off based on the flush type.
       * To minimized the code change, class name is not changed.
       */
      SnapshotSubprocedurePool taskManager2 =
          new SnapshotSubprocedurePool(rss.getServerName().toString(), conf, rss);
      return new FlushSnapshotSubprocedure(member, exnDispatcher, wakeMillis,
          timeoutMillis, involvedRegions, snapshot, taskManager2);

  default:
    throw new UnsupportedOperationException("Unrecognized snapshot type:" + snapshot.getType());
  }
}
项目:PyroDB    文件:RegionServerFlushTableProcedureManager.java   
@Override
public Subprocedure buildSubprocedure(String name, byte[] data) {
  // The name of the procedure instance from the master is the table name.
  return RegionServerFlushTableProcedureManager.this.buildSubprocedure(name);
}
项目:PyroDB    文件:RegionServerSnapshotManager.java   
/**
 * If in a running state, creates the specified subprocedure for handling an online snapshot.
 *
 * Because this gets the local list of regions to snapshot and not the set the master had,
 * there is a possibility of a race where regions may be missed.  This detected by the master in
 * the snapshot verification step.
 *
 * @param snapshot
 * @return Subprocedure to submit to the ProcedureMemeber.
 */
public Subprocedure buildSubprocedure(SnapshotDescription snapshot) {

  // don't run a snapshot if the parent is stop(ping)
  if (rss.isStopping() || rss.isStopped()) {
    throw new IllegalStateException("Can't start snapshot on RS: " + rss.getServerName()
        + ", because stopping/stopped!");
  }

  // check to see if this server is hosting any regions for the snapshots
  // check to see if we have regions for the snapshot
  List<HRegion> involvedRegions;
  try {
    involvedRegions = getRegionsToSnapshot(snapshot);
  } catch (IOException e1) {
    throw new IllegalStateException("Failed to figure out if we should handle a snapshot - "
        + "something has gone awry with the online regions.", e1);
  }

  // We need to run the subprocedure even if we have no relevant regions.  The coordinator
  // expects participation in the procedure and without sending message the snapshot attempt
  // will hang and fail.

  LOG.debug("Launching subprocedure for snapshot " + snapshot.getName() + " from table "
      + snapshot.getTable());
  ForeignExceptionDispatcher exnDispatcher = new ForeignExceptionDispatcher(snapshot.getName());
  Configuration conf = rss.getConfiguration();
  long timeoutMillis = conf.getLong(SNAPSHOT_TIMEOUT_MILLIS_KEY,
      SNAPSHOT_TIMEOUT_MILLIS_DEFAULT);
  long wakeMillis = conf.getLong(SNAPSHOT_REQUEST_WAKE_MILLIS_KEY,
      SNAPSHOT_REQUEST_WAKE_MILLIS_DEFAULT);

  switch (snapshot.getType()) {
  case FLUSH:
    SnapshotSubprocedurePool taskManager =
      new SnapshotSubprocedurePool(rss.getServerName().toString(), conf);
    return new FlushSnapshotSubprocedure(member, exnDispatcher, wakeMillis,
        timeoutMillis, involvedRegions, snapshot, taskManager);
  default:
    throw new UnsupportedOperationException("Unrecognized snapshot type:" + snapshot.getType());
  }
}
项目:c5    文件:RegionServerSnapshotManager.java   
/**
 * If in a running state, creates the specified subprocedure for handling an online snapshot.
 *
 * Because this gets the local list of regions to snapshot and not the set the master had,
 * there is a possibility of a race where regions may be missed.  This detected by the master in
 * the snapshot verification step.
 *
 * @param snapshot
 * @return Subprocedure to submit to the ProcedureMemeber.
 */
public Subprocedure buildSubprocedure(SnapshotDescription snapshot) {

  // don't run a snapshot if the parent is stop(ping)
  if (rss.isStopping() || rss.isStopped()) {
    throw new IllegalStateException("Can't start snapshot on RS: " + rss.getServerName()
        + ", because stopping/stopped!");
  }

  // check to see if this server is hosting any regions for the snapshots
  // check to see if we have regions for the snapshot
  List<HRegion> involvedRegions;
  try {
    involvedRegions = getRegionsToSnapshot(snapshot);
  } catch (IOException e1) {
    throw new IllegalStateException("Failed to figure out if we should handle a snapshot - "
        + "something has gone awry with the online regions.", e1);
  }

  // We need to run the subprocedure even if we have no relevant regions.  The coordinator
  // expects participation in the procedure and without sending message the snapshot attempt
  // will hang and fail.

  LOG.debug("Launching subprocedure for snapshot " + snapshot.getName() + " from table "
      + snapshot.getTable());
  ForeignExceptionDispatcher exnDispatcher = new ForeignExceptionDispatcher(snapshot.getName());
  Configuration conf = rss.getConfiguration();
  long timeoutMillis = conf.getLong(SNAPSHOT_TIMEOUT_MILLIS_KEY,
      SNAPSHOT_TIMEOUT_MILLIS_DEFAULT);
  long wakeMillis = conf.getLong(SNAPSHOT_REQUEST_WAKE_MILLIS_KEY,
      SNAPSHOT_REQUEST_WAKE_MILLIS_DEFAULT);

  switch (snapshot.getType()) {
  case FLUSH:
    SnapshotSubprocedurePool taskManager =
      new SnapshotSubprocedurePool(rss.getServerName().toString(), conf);
    return new FlushSnapshotSubprocedure(member, exnDispatcher, wakeMillis,
        timeoutMillis, involvedRegions, snapshot, taskManager);
  default:
    throw new UnsupportedOperationException("Unrecognized snapshot type:" + snapshot.getType());
  }
}
项目:HBase-Research    文件:RegionServerSnapshotManager.java   
/**
 * If in a running state, creates the specified subprocedure for handling an online snapshot.
 *
 * Because this gets the local list of regions to snapshot and not the set the master had,
 * there is a possibility of a race where regions may be missed.  This detected by the master in
 * the snapshot verification step.
 *
 * @param snapshot
 * @return Subprocedure to submit to the ProcedureMemeber.
 */
public Subprocedure buildSubprocedure(SnapshotDescription snapshot) {

  // don't run a snapshot if the parent is stop(ping)
  if (rss.isStopping() || rss.isStopped()) {
    throw new IllegalStateException("Can't start snapshot on RS: " + rss.getServerName()
        + ", because stopping/stopped!");
  }

  // check to see if this server is hosting any regions for the snapshots
  // check to see if we have regions for the snapshot
  List<HRegion> involvedRegions;
  try {
    involvedRegions = getRegionsToSnapshot(snapshot);
  } catch (IOException e1) {
    throw new IllegalStateException("Failed to figure out if we should handle a snapshot - "
        + "something has gone awry with the online regions.", e1);
  }

  // We need to run the subprocedure even if we have no relevant regions.  The coordinator
  // expects participation in the procedure and without sending message the snapshot attempt
  // will hang and fail.

  LOG.debug("Launching subprocedure for snapshot " + snapshot.getName() + " from table "
      + snapshot.getTable());
  ForeignExceptionDispatcher exnDispatcher = new ForeignExceptionDispatcher();
  Configuration conf = rss.getConfiguration();
  long timeoutMillis = conf.getLong(SNAPSHOT_TIMEOUT_MILLIS_KEY,
      SNAPSHOT_TIMEOUT_MILLIS_DEFAULT);
  long wakeMillis = conf.getLong(SNAPSHOT_REQUEST_WAKE_MILLIS_KEY,
      SNAPSHOT_REQUEST_WAKE_MILLIS_DEFAULT);

  switch (snapshot.getType()) {
  case FLUSH:
    SnapshotSubprocedurePool taskManager =
      new SnapshotSubprocedurePool(rss.getServerName().toString(), conf);
    return new FlushSnapshotSubprocedure(member, exnDispatcher, wakeMillis,
        timeoutMillis, involvedRegions, snapshot, taskManager);
  default:
    throw new UnsupportedOperationException("Unrecognized snapshot type:" + snapshot.getType());
  }
}
项目:hbase-0.94.8-qod    文件:RegionServerSnapshotManager.java   
/**
 * If in a running state, creates the specified subprocedure for handling an online snapshot.
 *
 * Because this gets the local list of regions to snapshot and not the set the master had,
 * there is a possibility of a race where regions may be missed.  This detected by the master in
 * the snapshot verification step.
 *
 * @param snapshot
 * @return Subprocedure to submit to the ProcedureMemeber.
 */
public Subprocedure buildSubprocedure(SnapshotDescription snapshot) {

  // don't run a snapshot if the parent is stop(ping)
  if (rss.isStopping() || rss.isStopped()) {
    throw new IllegalStateException("Can't start snapshot on RS: " + rss.getServerName()
        + ", because stopping/stopped!");
  }

  // check to see if this server is hosting any regions for the snapshots
  // check to see if we have regions for the snapshot
  List<HRegion> involvedRegions;
  try {
    involvedRegions = getRegionsToSnapshot(snapshot);
  } catch (IOException e1) {
    throw new IllegalStateException("Failed to figure out if we should handle a snapshot - "
        + "something has gone awry with the online regions.", e1);
  }

  // We need to run the subprocedure even if we have no relevant regions.  The coordinator
  // expects participation in the procedure and without sending message the snapshot attempt
  // will hang and fail.

  LOG.debug("Launching subprocedure for snapshot " + snapshot.getName() + " from table "
      + snapshot.getTable());
  ForeignExceptionDispatcher exnDispatcher = new ForeignExceptionDispatcher();
  Configuration conf = rss.getConfiguration();
  long timeoutMillis = conf.getLong(SNAPSHOT_TIMEOUT_MILLIS_KEY,
      SNAPSHOT_TIMEOUT_MILLIS_DEFAULT);
  long wakeMillis = conf.getLong(SNAPSHOT_REQUEST_WAKE_MILLIS_KEY,
      SNAPSHOT_REQUEST_WAKE_MILLIS_DEFAULT);

  switch (snapshot.getType()) {
  case FLUSH:
    SnapshotSubprocedurePool taskManager =
      new SnapshotSubprocedurePool(rss.getServerName().toString(), conf);
    return new FlushSnapshotSubprocedure(member, exnDispatcher, wakeMillis,
        timeoutMillis, involvedRegions, snapshot, taskManager);
  default:
    throw new UnsupportedOperationException("Unrecognized snapshot type:" + snapshot.getType());
  }
}
项目:hbase-0.94.8-qod    文件:RegionServerSnapshotManager.java   
/**
 * If in a running state, creates the specified subprocedure for handling an online snapshot.
 *
 * Because this gets the local list of regions to snapshot and not the set the master had,
 * there is a possibility of a race where regions may be missed.  This detected by the master in
 * the snapshot verification step.
 *
 * @param snapshot
 * @return Subprocedure to submit to the ProcedureMemeber.
 */
public Subprocedure buildSubprocedure(SnapshotDescription snapshot) {

  // don't run a snapshot if the parent is stop(ping)
  if (rss.isStopping() || rss.isStopped()) {
    throw new IllegalStateException("Can't start snapshot on RS: " + rss.getServerName()
        + ", because stopping/stopped!");
  }

  // check to see if this server is hosting any regions for the snapshots
  // check to see if we have regions for the snapshot
  List<HRegion> involvedRegions;
  try {
    involvedRegions = getRegionsToSnapshot(snapshot);
  } catch (IOException e1) {
    throw new IllegalStateException("Failed to figure out if we should handle a snapshot - "
        + "something has gone awry with the online regions.", e1);
  }

  // We need to run the subprocedure even if we have no relevant regions.  The coordinator
  // expects participation in the procedure and without sending message the snapshot attempt
  // will hang and fail.

  LOG.debug("Launching subprocedure for snapshot " + snapshot.getName() + " from table "
      + snapshot.getTable());
  ForeignExceptionDispatcher exnDispatcher = new ForeignExceptionDispatcher();
  Configuration conf = rss.getConfiguration();
  long timeoutMillis = conf.getLong(SNAPSHOT_TIMEOUT_MILLIS_KEY,
      SNAPSHOT_TIMEOUT_MILLIS_DEFAULT);
  long wakeMillis = conf.getLong(SNAPSHOT_REQUEST_WAKE_MILLIS_KEY,
      SNAPSHOT_REQUEST_WAKE_MILLIS_DEFAULT);

  switch (snapshot.getType()) {
  case FLUSH:
    SnapshotSubprocedurePool taskManager =
      new SnapshotSubprocedurePool(rss.getServerName().toString(), conf);
    return new FlushSnapshotSubprocedure(member, exnDispatcher, wakeMillis,
        timeoutMillis, involvedRegions, snapshot, taskManager);
  default:
    throw new UnsupportedOperationException("Unrecognized snapshot type:" + snapshot.getType());
  }
}
项目:hindex    文件:RegionServerSnapshotManager.java   
/**
 * If in a running state, creates the specified subprocedure for handling an online snapshot.
 *
 * Because this gets the local list of regions to snapshot and not the set the master had,
 * there is a possibility of a race where regions may be missed.  This detected by the master in
 * the snapshot verification step.
 *
 * @param snapshot
 * @return Subprocedure to submit to the ProcedureMemeber.
 */
public Subprocedure buildSubprocedure(SnapshotDescription snapshot) {

  // don't run a snapshot if the parent is stop(ping)
  if (rss.isStopping() || rss.isStopped()) {
    throw new IllegalStateException("Can't start snapshot on RS: " + rss.getServerName()
        + ", because stopping/stopped!");
  }

  // check to see if this server is hosting any regions for the snapshots
  // check to see if we have regions for the snapshot
  List<HRegion> involvedRegions;
  try {
    involvedRegions = getRegionsToSnapshot(snapshot);
  } catch (IOException e1) {
    throw new IllegalStateException("Failed to figure out if we should handle a snapshot - "
        + "something has gone awry with the online regions.", e1);
  }

  // We need to run the subprocedure even if we have no relevant regions.  The coordinator
  // expects participation in the procedure and without sending message the snapshot attempt
  // will hang and fail.

  LOG.debug("Launching subprocedure for snapshot " + snapshot.getName() + " from table "
      + snapshot.getTable());
  ForeignExceptionDispatcher exnDispatcher = new ForeignExceptionDispatcher();
  Configuration conf = rss.getConfiguration();
  long timeoutMillis = conf.getLong(SNAPSHOT_TIMEOUT_MILLIS_KEY,
      SNAPSHOT_TIMEOUT_MILLIS_DEFAULT);
  long wakeMillis = conf.getLong(SNAPSHOT_REQUEST_WAKE_MILLIS_KEY,
      SNAPSHOT_REQUEST_WAKE_MILLIS_DEFAULT);

  switch (snapshot.getType()) {
  case FLUSH:
    SnapshotSubprocedurePool taskManager =
      new SnapshotSubprocedurePool(rss.getServerName().toString(), conf);
    return new FlushSnapshotSubprocedure(member, exnDispatcher, wakeMillis,
        timeoutMillis, involvedRegions, snapshot, taskManager);
  default:
    throw new UnsupportedOperationException("Unrecognized snapshot type:" + snapshot.getType());
  }
}