Java 类org.apache.hadoop.hbase.snapshot.TableInfoCopyTask 实例源码

项目:LCIndex-HBase-0.94.16    文件:DisabledTableSnapshotHandler.java   
@Override
public void snapshotRegions(List<Pair<HRegionInfo, ServerName>> regionsAndLocations)
    throws IOException, KeeperException {
  try {
    timeoutInjector.start();

    // 1. get all the regions hosting this table.

    // extract each pair to separate lists
    Set<HRegionInfo> regions = new HashSet<HRegionInfo>();
    for (Pair<HRegionInfo, ServerName> p : regionsAndLocations) {
      regions.add(p.getFirst());
    }

    // 2. for each region, write all the info to disk
    LOG.info("Starting to write region info and WALs for regions for offline snapshot:"
        + SnapshotDescriptionUtils.toString(snapshot));
    for (HRegionInfo regionInfo : regions) {
      snapshotDisabledRegion(regionInfo);
    }

    // 3. write the table info to disk
    LOG.info("Starting to copy tableinfo for offline snapshot: " +
    SnapshotDescriptionUtils.toString(snapshot));
    TableInfoCopyTask tableInfoCopyTask = new TableInfoCopyTask(this.monitor, snapshot, fs,
        FSUtils.getRootDir(conf));
    tableInfoCopyTask.call();
    monitor.rethrowException();
    status.setStatus("Finished copying tableinfo for snapshot of table: " + snapshot.getTable());
  } catch (Exception e) {
    // make sure we capture the exception to propagate back to the client later
    String reason = "Failed snapshot " + SnapshotDescriptionUtils.toString(snapshot)
        + " due to exception:" + e.getMessage();
    ForeignException ee = new ForeignException(reason, e);
    monitor.receive(ee);
    status.abort("Snapshot of table: "+ snapshot.getTable() +" failed because " + e.getMessage());
  } finally {
    LOG.debug("Marking snapshot" + SnapshotDescriptionUtils.toString(snapshot)
        + " as finished.");

    // 6. mark the timer as finished - even if we got an exception, we don't need to time the
    // operation any further
    timeoutInjector.complete();
  }
}
项目:HIndex    文件:DisabledTableSnapshotHandler.java   
@Override
public void snapshotRegions(List<Pair<HRegionInfo, ServerName>> regionsAndLocations)
    throws IOException, KeeperException {
  try {
    timeoutInjector.start();

    Path snapshotDir = SnapshotDescriptionUtils.getWorkingSnapshotDir(snapshot, rootDir);

    // 1. get all the regions hosting this table.

    // extract each pair to separate lists
    Set<HRegionInfo> regions = new HashSet<HRegionInfo>();
    for (Pair<HRegionInfo, ServerName> p : regionsAndLocations) {
      regions.add(p.getFirst());
    }

    // 2. for each region, write all the info to disk
    String msg = "Starting to write region info and WALs for regions for offline snapshot:"
        + ClientSnapshotDescriptionUtils.toString(snapshot);
    LOG.info(msg);
    status.setStatus(msg);
    for (HRegionInfo regionInfo : regions) {
      snapshotDisabledRegion(regionInfo);
    }

    // 3. write the table info to disk
    LOG.info("Starting to copy tableinfo for offline snapshot: " +
    ClientSnapshotDescriptionUtils.toString(snapshot));
    TableInfoCopyTask tableInfoCopyTask = new TableInfoCopyTask(this.monitor, snapshot, fs,
        FSUtils.getRootDir(conf));
    tableInfoCopyTask.call();
    monitor.rethrowException();
    status.setStatus("Finished copying tableinfo for snapshot of table: " +
        snapshotTable);
  } catch (Exception e) {
    // make sure we capture the exception to propagate back to the client later
    String reason = "Failed snapshot " + ClientSnapshotDescriptionUtils.toString(snapshot)
        + " due to exception:" + e.getMessage();
    ForeignException ee = new ForeignException(reason, e);
    monitor.receive(ee);
    status.abort("Snapshot of table: "+ snapshotTable +
        " failed because " + e.getMessage());
  } finally {
    LOG.debug("Marking snapshot" + ClientSnapshotDescriptionUtils.toString(snapshot)
        + " as finished.");

    // 6. mark the timer as finished - even if we got an exception, we don't need to time the
    // operation any further
    timeoutInjector.complete();
  }
}
项目:IRIndex    文件:DisabledTableSnapshotHandler.java   
@Override
public void snapshotRegions(List<Pair<HRegionInfo, ServerName>> regionsAndLocations)
    throws IOException, KeeperException {
  try {
    timeoutInjector.start();

    // 1. get all the regions hosting this table.

    // extract each pair to separate lists
    Set<HRegionInfo> regions = new HashSet<HRegionInfo>();
    for (Pair<HRegionInfo, ServerName> p : regionsAndLocations) {
      regions.add(p.getFirst());
    }

    // 2. for each region, write all the info to disk
    LOG.info("Starting to write region info and WALs for regions for offline snapshot:"
        + SnapshotDescriptionUtils.toString(snapshot));
    for (HRegionInfo regionInfo : regions) {
      snapshotDisabledRegion(regionInfo);
    }

    // 3. write the table info to disk
    LOG.info("Starting to copy tableinfo for offline snapshot: " +
    SnapshotDescriptionUtils.toString(snapshot));
    TableInfoCopyTask tableInfoCopyTask = new TableInfoCopyTask(this.monitor, snapshot, fs,
        FSUtils.getRootDir(conf));
    tableInfoCopyTask.call();
    monitor.rethrowException();
    status.setStatus("Finished copying tableinfo for snapshot of table: " + snapshot.getTable());
  } catch (Exception e) {
    // make sure we capture the exception to propagate back to the client later
    String reason = "Failed snapshot " + SnapshotDescriptionUtils.toString(snapshot)
        + " due to exception:" + e.getMessage();
    ForeignException ee = new ForeignException(reason, e);
    monitor.receive(ee);
    status.abort("Snapshot of table: "+ snapshot.getTable() +" failed because " + e.getMessage());
  } finally {
    LOG.debug("Marking snapshot" + SnapshotDescriptionUtils.toString(snapshot)
        + " as finished.");

    // 6. mark the timer as finished - even if we got an exception, we don't need to time the
    // operation any further
    timeoutInjector.complete();
  }
}
项目:c5    文件:DisabledTableSnapshotHandler.java   
@Override
public void snapshotRegions(List<Pair<HRegionInfo, ServerName>> regionsAndLocations)
    throws IOException, KeeperException {
  try {
    timeoutInjector.start();

    Path snapshotDir = SnapshotDescriptionUtils.getWorkingSnapshotDir(snapshot, rootDir);

    // 1. get all the regions hosting this table.

    // extract each pair to separate lists
    Set<HRegionInfo> regions = new HashSet<HRegionInfo>();
    for (Pair<HRegionInfo, ServerName> p : regionsAndLocations) {
      regions.add(p.getFirst());
    }

    // 2. for each region, write all the info to disk
    String msg = "Starting to write region info and WALs for regions for offline snapshot:"
        + ClientSnapshotDescriptionUtils.toString(snapshot);
    LOG.info(msg);
    status.setStatus(msg);
    for (HRegionInfo regionInfo : regions) {
      snapshotDisabledRegion(regionInfo);
    }

    // 3. write the table info to disk
    LOG.info("Starting to copy tableinfo for offline snapshot: " +
    ClientSnapshotDescriptionUtils.toString(snapshot));
    TableInfoCopyTask tableInfoCopyTask = new TableInfoCopyTask(this.monitor, snapshot, fs,
        FSUtils.getRootDir(conf));
    tableInfoCopyTask.call();
    monitor.rethrowException();
    status.setStatus("Finished copying tableinfo for snapshot of table: " +
        snapshotTable);
  } catch (Exception e) {
    // make sure we capture the exception to propagate back to the client later
    String reason = "Failed snapshot " + ClientSnapshotDescriptionUtils.toString(snapshot)
        + " due to exception:" + e.getMessage();
    ForeignException ee = new ForeignException(reason, e);
    monitor.receive(ee);
    status.abort("Snapshot of table: "+ snapshotTable +
        " failed because " + e.getMessage());
  } finally {
    LOG.debug("Marking snapshot" + ClientSnapshotDescriptionUtils.toString(snapshot)
        + " as finished.");

    // 6. mark the timer as finished - even if we got an exception, we don't need to time the
    // operation any further
    timeoutInjector.complete();
  }
}
项目:HBase-Research    文件:DisabledTableSnapshotHandler.java   
@Override
public void snapshotRegions(List<Pair<HRegionInfo, ServerName>> regionsAndLocations)
    throws IOException, KeeperException {
  try {
    timeoutInjector.start();

    // 1. get all the regions hosting this table.

    // extract each pair to separate lists
    Set<String> serverNames = new HashSet<String>();
    Set<HRegionInfo> regions = new HashSet<HRegionInfo>();
    for (Pair<HRegionInfo, ServerName> p : regionsAndLocations) {
      regions.add(p.getFirst());
      serverNames.add(p.getSecond().toString());
    }

    // 2. for each region, write all the info to disk
    LOG.info("Starting to write region info and WALs for regions for offline snapshot:"
        + SnapshotDescriptionUtils.toString(snapshot));
    for (HRegionInfo regionInfo : regions) {
      // 2.1 copy the regionInfo files to the snapshot
      Path snapshotRegionDir = TakeSnapshotUtils.getRegionSnapshotDirectory(snapshot, rootDir,
        regionInfo.getEncodedName());
      HRegion.writeRegioninfoOnFilesystem(regionInfo, snapshotRegionDir, fs, conf);
      // check for error for each region
      monitor.rethrowException();

      // 2.2 for each region, copy over its recovered.edits directory
      Path regionDir = HRegion.getRegionDir(rootDir, regionInfo);
      new CopyRecoveredEditsTask(snapshot, monitor, fs, regionDir, snapshotRegionDir).call();
      monitor.rethrowException();
      status.setStatus("Completed copying recovered edits for offline snapshot of table: "
          + snapshot.getTable());

      // 2.3 reference all the files in the region
      new ReferenceRegionHFilesTask(snapshot, monitor, regionDir, fs, snapshotRegionDir).call();
      monitor.rethrowException();
      status.setStatus("Completed referencing HFiles for offline snapshot of table: " +
        snapshot.getTable());
    }

    // 3. write the table info to disk
    LOG.info("Starting to copy tableinfo for offline snapshot: " +
    SnapshotDescriptionUtils.toString(snapshot));
    TableInfoCopyTask tableInfoCopyTask = new TableInfoCopyTask(this.monitor, snapshot, fs,
        FSUtils.getRootDir(conf));
    tableInfoCopyTask.call();
    monitor.rethrowException();
    status.setStatus("Finished copying tableinfo for snapshot of table: " + snapshot.getTable());
  } catch (Exception e) {
    // make sure we capture the exception to propagate back to the client later
    String reason = "Failed snapshot " + SnapshotDescriptionUtils.toString(snapshot)
        + " due to exception:" + e.getMessage();
    ForeignException ee = new ForeignException(reason, e);
    monitor.receive(ee);
    status.abort("Snapshot of table: "+ snapshot.getTable() +" failed because " + e.getMessage());
  } finally {
    LOG.debug("Marking snapshot" + SnapshotDescriptionUtils.toString(snapshot)
        + " as finished.");

    // 6. mark the timer as finished - even if we got an exception, we don't need to time the
    // operation any further
    timeoutInjector.complete();
  }
}
项目:hbase-0.94.8-qod    文件:DisabledTableSnapshotHandler.java   
@Override
public void snapshotRegions(List<Pair<HRegionInfo, ServerName>> regionsAndLocations)
    throws IOException, KeeperException {
  try {
    timeoutInjector.start();

    // 1. get all the regions hosting this table.

    // extract each pair to separate lists
    Set<String> serverNames = new HashSet<String>();
    Set<HRegionInfo> regions = new HashSet<HRegionInfo>();
    for (Pair<HRegionInfo, ServerName> p : regionsAndLocations) {
      regions.add(p.getFirst());
      serverNames.add(p.getSecond().toString());
    }

    // 2. for each region, write all the info to disk
    LOG.info("Starting to write region info and WALs for regions for offline snapshot:"
        + SnapshotDescriptionUtils.toString(snapshot));
    for (HRegionInfo regionInfo : regions) {
      // 2.1 copy the regionInfo files to the snapshot
      Path snapshotRegionDir = TakeSnapshotUtils.getRegionSnapshotDirectory(snapshot, rootDir,
        regionInfo.getEncodedName());
      HRegion.writeRegioninfoOnFilesystem(regionInfo, snapshotRegionDir, fs, conf);
      // check for error for each region
      monitor.rethrowException();

      // 2.2 for each region, copy over its recovered.edits directory
      Path regionDir = HRegion.getRegionDir(rootDir, regionInfo);
      new CopyRecoveredEditsTask(snapshot, monitor, fs, regionDir, snapshotRegionDir).call();
      monitor.rethrowException();
      status.setStatus("Completed copying recovered edits for offline snapshot of table: "
          + snapshot.getTable());

      // 2.3 reference all the files in the region
      new ReferenceRegionHFilesTask(snapshot, monitor, regionDir, fs, snapshotRegionDir).call();
      monitor.rethrowException();
      status.setStatus("Completed referencing HFiles for offline snapshot of table: " +
        snapshot.getTable());
    }

    // 3. write the table info to disk
    LOG.info("Starting to copy tableinfo for offline snapshot: " +
    SnapshotDescriptionUtils.toString(snapshot));
    TableInfoCopyTask tableInfoCopyTask = new TableInfoCopyTask(this.monitor, snapshot, fs,
        FSUtils.getRootDir(conf));
    tableInfoCopyTask.call();
    monitor.rethrowException();
    status.setStatus("Finished copying tableinfo for snapshot of table: " + snapshot.getTable());
  } catch (Exception e) {
    // make sure we capture the exception to propagate back to the client later
    String reason = "Failed snapshot " + SnapshotDescriptionUtils.toString(snapshot)
        + " due to exception:" + e.getMessage();
    ForeignException ee = new ForeignException(reason, e);
    monitor.receive(ee);
    status.abort("Snapshot of table: "+ snapshot.getTable() +" failed because " + e.getMessage());
  } finally {
    LOG.debug("Marking snapshot" + SnapshotDescriptionUtils.toString(snapshot)
        + " as finished.");

    // 6. mark the timer as finished - even if we got an exception, we don't need to time the
    // operation any further
    timeoutInjector.complete();
  }
}
项目:hbase-0.94.8-qod    文件:DisabledTableSnapshotHandler.java   
@Override
public void snapshotRegions(List<Pair<HRegionInfo, ServerName>> regionsAndLocations)
    throws IOException, KeeperException {
  try {
    timeoutInjector.start();

    // 1. get all the regions hosting this table.

    // extract each pair to separate lists
    Set<String> serverNames = new HashSet<String>();
    Set<HRegionInfo> regions = new HashSet<HRegionInfo>();
    for (Pair<HRegionInfo, ServerName> p : regionsAndLocations) {
      regions.add(p.getFirst());
      serverNames.add(p.getSecond().toString());
    }

    // 2. for each region, write all the info to disk
    LOG.info("Starting to write region info and WALs for regions for offline snapshot:"
        + SnapshotDescriptionUtils.toString(snapshot));
    for (HRegionInfo regionInfo : regions) {
      // 2.1 copy the regionInfo files to the snapshot
      Path snapshotRegionDir = TakeSnapshotUtils.getRegionSnapshotDirectory(snapshot, rootDir,
        regionInfo.getEncodedName());
      HRegion.writeRegioninfoOnFilesystem(regionInfo, snapshotRegionDir, fs, conf);
      // check for error for each region
      monitor.rethrowException();

      // 2.2 for each region, copy over its recovered.edits directory
      Path regionDir = HRegion.getRegionDir(rootDir, regionInfo);
      new CopyRecoveredEditsTask(snapshot, monitor, fs, regionDir, snapshotRegionDir).call();
      monitor.rethrowException();
      status.setStatus("Completed copying recovered edits for offline snapshot of table: "
          + snapshot.getTable());

      // 2.3 reference all the files in the region
      new ReferenceRegionHFilesTask(snapshot, monitor, regionDir, fs, snapshotRegionDir).call();
      monitor.rethrowException();
      status.setStatus("Completed referencing HFiles for offline snapshot of table: " +
        snapshot.getTable());
    }

    // 3. write the table info to disk
    LOG.info("Starting to copy tableinfo for offline snapshot: " +
    SnapshotDescriptionUtils.toString(snapshot));
    TableInfoCopyTask tableInfoCopyTask = new TableInfoCopyTask(this.monitor, snapshot, fs,
        FSUtils.getRootDir(conf));
    tableInfoCopyTask.call();
    monitor.rethrowException();
    status.setStatus("Finished copying tableinfo for snapshot of table: " + snapshot.getTable());
  } catch (Exception e) {
    // make sure we capture the exception to propagate back to the client later
    String reason = "Failed snapshot " + SnapshotDescriptionUtils.toString(snapshot)
        + " due to exception:" + e.getMessage();
    ForeignException ee = new ForeignException(reason, e);
    monitor.receive(ee);
    status.abort("Snapshot of table: "+ snapshot.getTable() +" failed because " + e.getMessage());
  } finally {
    LOG.debug("Marking snapshot" + SnapshotDescriptionUtils.toString(snapshot)
        + " as finished.");

    // 6. mark the timer as finished - even if we got an exception, we don't need to time the
    // operation any further
    timeoutInjector.complete();
  }
}
项目:hindex    文件:DisabledTableSnapshotHandler.java   
@Override
public void snapshotRegions(List<Pair<HRegionInfo, ServerName>> regionsAndLocations)
    throws IOException, KeeperException {
  try {
    timeoutInjector.start();

    // 1. get all the regions hosting this table.

    // extract each pair to separate lists
    Set<String> serverNames = new HashSet<String>();
    Set<HRegionInfo> regions = new HashSet<HRegionInfo>();
    for (Pair<HRegionInfo, ServerName> p : regionsAndLocations) {
      regions.add(p.getFirst());
      serverNames.add(p.getSecond().toString());
    }

    // 2. for each region, write all the info to disk
    LOG.info("Starting to write region info and WALs for regions for offline snapshot:"
        + SnapshotDescriptionUtils.toString(snapshot));
    for (HRegionInfo regionInfo : regions) {
      // 2.1 copy the regionInfo files to the snapshot
      Path snapshotRegionDir = TakeSnapshotUtils.getRegionSnapshotDirectory(snapshot, rootDir,
        regionInfo.getEncodedName());
      HRegion.writeRegioninfoOnFilesystem(regionInfo, snapshotRegionDir, fs, conf);
      // check for error for each region
      monitor.rethrowException();

      // 2.2 for each region, copy over its recovered.edits directory
      Path regionDir = HRegion.getRegionDir(rootDir, regionInfo);
      new CopyRecoveredEditsTask(snapshot, monitor, fs, regionDir, snapshotRegionDir).call();
      monitor.rethrowException();
      status.setStatus("Completed copying recovered edits for offline snapshot of table: "
          + snapshot.getTable());

      // 2.3 reference all the files in the region
      new ReferenceRegionHFilesTask(snapshot, monitor, regionDir, fs, snapshotRegionDir).call();
      monitor.rethrowException();
      status.setStatus("Completed referencing HFiles for offline snapshot of table: " +
        snapshot.getTable());
    }

    // 3. write the table info to disk
    LOG.info("Starting to copy tableinfo for offline snapshot: " +
    SnapshotDescriptionUtils.toString(snapshot));
    TableInfoCopyTask tableInfoCopyTask = new TableInfoCopyTask(this.monitor, snapshot, fs,
        FSUtils.getRootDir(conf));
    tableInfoCopyTask.call();
    monitor.rethrowException();
    status.setStatus("Finished copying tableinfo for snapshot of table: " + snapshot.getTable());
  } catch (Exception e) {
    // make sure we capture the exception to propagate back to the client later
    String reason = "Failed snapshot " + SnapshotDescriptionUtils.toString(snapshot)
        + " due to exception:" + e.getMessage();
    ForeignException ee = new ForeignException(reason, e);
    monitor.receive(ee);
    status.abort("Snapshot of table: "+ snapshot.getTable() +" failed because " + e.getMessage());
  } finally {
    LOG.debug("Marking snapshot" + SnapshotDescriptionUtils.toString(snapshot)
        + " as finished.");

    // 6. mark the timer as finished - even if we got an exception, we don't need to time the
    // operation any further
    timeoutInjector.complete();
  }
}