当前位置: 首页>>代码示例>>Java>>正文


Java HBaseSnapshotException类代码示例

本文整理汇总了Java中org.apache.hadoop.hbase.snapshot.HBaseSnapshotException的典型用法代码示例。如果您正苦于以下问题:Java HBaseSnapshotException类的具体用法?Java HBaseSnapshotException怎么用?Java HBaseSnapshotException使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


HBaseSnapshotException类属于org.apache.hadoop.hbase.snapshot包,在下文中一共展示了HBaseSnapshotException类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: snapshotTable

import org.apache.hadoop.hbase.snapshot.HBaseSnapshotException; //导入依赖的package包/类
/**
 * Take a snapshot using the specified handler.
 * On failure the snapshot temporary working directory is removed.
 * NOTE: prepareToTakeSnapshot() called before this one takes care of the rejecting the
 *       snapshot request if the table is busy with another snapshot/restore operation.
 * @param snapshot the snapshot description
 * @param handler the snapshot handler
 */
private synchronized void snapshotTable(SnapshotDescription snapshot,
    final TakeSnapshotHandler handler) throws HBaseSnapshotException {
  try {
    handler.prepare();
    this.executorService.submit(handler);
    this.snapshotHandlers.put(TableName.valueOf(snapshot.getTable()), handler);
  } catch (Exception e) {
    // cleanup the working directory by trying to delete it from the fs.
    Path workingDir = SnapshotDescriptionUtils.getWorkingSnapshotDir(snapshot, rootDir);
    try {
      if (!this.master.getMasterFileSystem().getFileSystem().delete(workingDir, true)) {
        LOG.error("Couldn't delete working directory (" + workingDir + " for snapshot:" +
            ClientSnapshotDescriptionUtils.toString(snapshot));
      }
    } catch (IOException e1) {
      LOG.error("Couldn't delete working directory (" + workingDir + " for snapshot:" +
          ClientSnapshotDescriptionUtils.toString(snapshot));
    }
    // fail the snapshot
    throw new SnapshotCreationException("Could not build snapshot handler", e, snapshot);
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:31,代码来源:SnapshotManager.java

示例2: snapshotTable

import org.apache.hadoop.hbase.snapshot.HBaseSnapshotException; //导入依赖的package包/类
/**
 * Take a snapshot using the specified handler.
 * On failure the snapshot temporary working directory is removed.
 * NOTE: prepareToTakeSnapshot() called before this one takes care of the rejecting the
 *       snapshot request if the table is busy with another snapshot/restore operation.
 * @param snapshot the snapshot description
 * @param handler the snapshot handler
 */
private synchronized void snapshotTable(SnapshotDescription snapshot,
    final TakeSnapshotHandler handler) throws HBaseSnapshotException {
  try {
    handler.prepare();
    this.executorService.submit(handler);
    this.snapshotHandlers.put(snapshot.getTable(), handler);
  } catch (Exception e) {
    // cleanup the working directory by trying to delete it from the fs.
    Path workingDir = SnapshotDescriptionUtils.getWorkingSnapshotDir(snapshot, rootDir);
    try {
      if (!this.master.getMasterFileSystem().getFileSystem().delete(workingDir, true)) {
        LOG.error("Couldn't delete working directory (" + workingDir + " for snapshot:" +
            SnapshotDescriptionUtils.toString(snapshot));
      }
    } catch (IOException e1) {
      LOG.error("Couldn't delete working directory (" + workingDir + " for snapshot:" +
          SnapshotDescriptionUtils.toString(snapshot));
    }
    // fail the snapshot
    throw new SnapshotCreationException("Could not build snapshot handler", e, snapshot);
  }
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:31,代码来源:SnapshotManager.java

示例3: snapshotTable

import org.apache.hadoop.hbase.snapshot.HBaseSnapshotException; //导入依赖的package包/类
/**
 * Take a snapshot using the specified handler.
 * On failure the snapshot temporary working directory is removed.
 * NOTE: prepareToTakeSnapshot() called before this one takes care of the rejecting the
 *       snapshot request if the table is busy with another snapshot/restore operation.
 * @param snapshot the snapshot description
 * @param handler the snapshot handler
 */
private synchronized void snapshotTable(SnapshotDescription snapshot,
    final TakeSnapshotHandler handler) throws HBaseSnapshotException {
  try {
    handler.prepare();
    this.executorService.submit(handler);
    this.snapshotHandlers.put(TableName.valueOf(snapshot.getTable()), handler);
  } catch (Exception e) {
    // cleanup the working directory by trying to delete it from the fs.
    Path workingDir = SnapshotDescriptionUtils.getWorkingSnapshotDir(snapshot, rootDir);
    try {
      if (!this.master.getMasterFileSystem().getFileSystem().delete(workingDir, true)) {
        LOG.error("Couldn't delete working directory (" + workingDir + " for snapshot:" +
            ClientSnapshotDescriptionUtils.toString(snapshot));
      }
    } catch (IOException e1) {
      LOG.error("Couldn't delete working directory (" + workingDir + " for snapshot:" +
          ClientSnapshotDescriptionUtils.toString(snapshot));
    }
    // fail the snapshot
    throw new SnapshotCreationException("Could not build snapshot handler", e,
      ProtobufUtil.createSnapshotDesc(snapshot));
  }
}
 
开发者ID:apache,项目名称:hbase,代码行数:32,代码来源:SnapshotManager.java

示例4: deleteSnapshot

import org.apache.hadoop.hbase.snapshot.HBaseSnapshotException; //导入依赖的package包/类
/**
 * Delete the specified snapshot
 * @param snapshot
 * @throws SnapshotDoesNotExistException If the specified snapshot does not exist.
 * @throws IOException For filesystem IOExceptions
 */
public void deleteSnapshot(SnapshotDescription snapshot) throws SnapshotDoesNotExistException, IOException {
  // check to see if it is completed
  if (!isSnapshotCompleted(snapshot)) {
    throw new SnapshotDoesNotExistException(snapshot);
  }

  String snapshotName = snapshot.getName();
  // first create the snapshot description and check to see if it exists
  FileSystem fs = master.getMasterFileSystem().getFileSystem();
  Path snapshotDir = SnapshotDescriptionUtils.getCompletedSnapshotDir(snapshotName, rootDir);
  // Get snapshot info from file system. The one passed as parameter is a "fake" snapshotInfo with
  // just the "name" and it does not contains the "real" snapshot information
  snapshot = SnapshotDescriptionUtils.readSnapshotInfo(fs, snapshotDir);

  // call coproc pre hook
  MasterCoprocessorHost cpHost = master.getMasterCoprocessorHost();
  if (cpHost != null) {
    cpHost.preDeleteSnapshot(snapshot);
  }

  LOG.debug("Deleting snapshot: " + snapshotName);
  // delete the existing snapshot
  if (!fs.delete(snapshotDir, true)) {
    throw new HBaseSnapshotException("Failed to delete snapshot directory: " + snapshotDir);
  }

  // call coproc post hook
  if (cpHost != null) {
    cpHost.postDeleteSnapshot(snapshot);
  }

}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:39,代码来源:SnapshotManager.java

示例5: snapshotDisabledTable

import org.apache.hadoop.hbase.snapshot.HBaseSnapshotException; //导入依赖的package包/类
/**
 * Take a snapshot of a disabled table.
 * @param snapshot description of the snapshot to take. Modified to be {@link Type#DISABLED}.
 * @throws HBaseSnapshotException if the snapshot could not be started
 */
private synchronized void snapshotDisabledTable(SnapshotDescription snapshot)
    throws HBaseSnapshotException {
  // setup the snapshot
  prepareToTakeSnapshot(snapshot);

  // set the snapshot to be a disabled snapshot, since the client doesn't know about that
  snapshot = snapshot.toBuilder().setType(Type.DISABLED).build();

  // Take the snapshot of the disabled table
  DisabledTableSnapshotHandler handler =
      new DisabledTableSnapshotHandler(snapshot, master);
  snapshotTable(snapshot, handler);
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:19,代码来源:SnapshotManager.java

示例6: snapshotEnabledTable

import org.apache.hadoop.hbase.snapshot.HBaseSnapshotException; //导入依赖的package包/类
/**
 * Take a snapshot of an enabled table.
 * @param snapshot description of the snapshot to take.
 * @throws HBaseSnapshotException if the snapshot could not be started
 */
private synchronized void snapshotEnabledTable(SnapshotDescription snapshot)
    throws HBaseSnapshotException {
  // setup the snapshot
  prepareToTakeSnapshot(snapshot);

  // Take the snapshot of the enabled table
  EnabledTableSnapshotHandler handler =
      new EnabledTableSnapshotHandler(snapshot, master, this);
  snapshotTable(snapshot, handler);
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:16,代码来源:SnapshotManager.java

示例7: cloneSnapshot

import org.apache.hadoop.hbase.snapshot.HBaseSnapshotException; //导入依赖的package包/类
/**
 * Clone the specified snapshot into a new table.
 * The operation will fail if the destination table has a snapshot or restore in progress.
 *
 * @param snapshot Snapshot Descriptor
 * @param hTableDescriptor Table Descriptor of the table to create
 */
synchronized void cloneSnapshot(final SnapshotDescription snapshot,
    final HTableDescriptor hTableDescriptor) throws HBaseSnapshotException {
  TableName tableName = hTableDescriptor.getTableName();

  // make sure we aren't running a snapshot on the same table
  if (isTakingSnapshot(tableName)) {
    throw new RestoreSnapshotException("Snapshot in progress on the restore table=" + tableName);
  }

  // make sure we aren't running a restore on the same table
  if (isRestoringTable(tableName)) {
    throw new RestoreSnapshotException("Restore already in progress on the table=" + tableName);
  }

  try {
    CloneSnapshotHandler handler =
      new CloneSnapshotHandler(master, snapshot, hTableDescriptor).prepare();
    this.executorService.submit(handler);
    this.restoreHandlers.put(tableName, handler);
  } catch (Exception e) {
    String msg = "Couldn't clone the snapshot=" + ClientSnapshotDescriptionUtils.toString(snapshot) +
      " on table=" + tableName;
    LOG.error(msg, e);
    throw new RestoreSnapshotException(msg, e);
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:34,代码来源:SnapshotManager.java

示例8: restoreSnapshot

import org.apache.hadoop.hbase.snapshot.HBaseSnapshotException; //导入依赖的package包/类
/**
 * Restore the specified snapshot.
 * The restore will fail if the destination table has a snapshot or restore in progress.
 *
 * @param snapshot Snapshot Descriptor
 * @param hTableDescriptor Table Descriptor
 */
private synchronized void restoreSnapshot(final SnapshotDescription snapshot,
    final HTableDescriptor hTableDescriptor) throws HBaseSnapshotException {
  TableName tableName = hTableDescriptor.getTableName();

  // make sure we aren't running a snapshot on the same table
  if (isTakingSnapshot(tableName)) {
    throw new RestoreSnapshotException("Snapshot in progress on the restore table=" + tableName);
  }

  // make sure we aren't running a restore on the same table
  if (isRestoringTable(tableName)) {
    throw new RestoreSnapshotException("Restore already in progress on the table=" + tableName);
  }

  try {
    RestoreSnapshotHandler handler =
      new RestoreSnapshotHandler(master, snapshot, hTableDescriptor).prepare();
    this.executorService.submit(handler);
    restoreHandlers.put(tableName, handler);
  } catch (Exception e) {
    String msg = "Couldn't restore the snapshot=" + ClientSnapshotDescriptionUtils.toString(
        snapshot)  +
        " on table=" + tableName;
    LOG.error(msg, e);
    throw new RestoreSnapshotException(msg, e);
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:35,代码来源:SnapshotManager.java

示例9: deleteSnapshot

import org.apache.hadoop.hbase.snapshot.HBaseSnapshotException; //导入依赖的package包/类
/**
 * Delete the specified snapshot
 * @param snapshot
 * @throws SnapshotDoesNotExistException If the specified snapshot does not exist.
 * @throws IOException For filesystem IOExceptions
 */
public void deleteSnapshot(SnapshotDescription snapshot) throws SnapshotDoesNotExistException, IOException {

  // call coproc pre hook
  MasterCoprocessorHost cpHost = master.getCoprocessorHost();
  if (cpHost != null) {
    cpHost.preDeleteSnapshot(snapshot);
  }

  // check to see if it is completed
  if (!isSnapshotCompleted(snapshot)) {
    throw new SnapshotDoesNotExistException(snapshot);
  }

  String snapshotName = snapshot.getName();
  LOG.debug("Deleting snapshot: " + snapshotName);
  // first create the snapshot description and check to see if it exists
  MasterFileSystem fs = master.getMasterFileSystem();
  Path snapshotDir = SnapshotDescriptionUtils.getCompletedSnapshotDir(snapshotName, rootDir);

  // delete the existing snapshot
  if (!fs.getFileSystem().delete(snapshotDir, true)) {
    throw new HBaseSnapshotException("Failed to delete snapshot directory: " + snapshotDir);
  }

  // call coproc post hook
  if (cpHost != null) {
    cpHost.postDeleteSnapshot(snapshot);
  }

}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:37,代码来源:SnapshotManager.java

示例10: snapshotDisabledTable

import org.apache.hadoop.hbase.snapshot.HBaseSnapshotException; //导入依赖的package包/类
/**
 * Take a snapshot of a disabled table.
 * @param snapshot description of the snapshot to take. Modified to be {@link Type#DISABLED}.
 * @throws HBaseSnapshotException if the snapshot could not be started
 */
private synchronized void snapshotDisabledTable(SnapshotDescription snapshot)
    throws HBaseSnapshotException {
  // setup the snapshot
  prepareToTakeSnapshot(snapshot);

  // set the snapshot to be a disabled snapshot, since the client doesn't know about that
  snapshot = snapshot.toBuilder().setType(Type.DISABLED).build();

  // Take the snapshot of the disabled table
  DisabledTableSnapshotHandler handler =
      new DisabledTableSnapshotHandler(snapshot, master, metricsMaster);
  snapshotTable(snapshot, handler);
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:19,代码来源:SnapshotManager.java

示例11: snapshotEnabledTable

import org.apache.hadoop.hbase.snapshot.HBaseSnapshotException; //导入依赖的package包/类
/**
 * Take a snapshot of an enabled table.
 * @param snapshot description of the snapshot to take.
 * @throws HBaseSnapshotException if the snapshot could not be started
 */
private synchronized void snapshotEnabledTable(SnapshotDescription snapshot)
    throws HBaseSnapshotException {
  // setup the snapshot
  prepareToTakeSnapshot(snapshot);

  // Take the snapshot of the enabled table
  EnabledTableSnapshotHandler handler =
      new EnabledTableSnapshotHandler(snapshot, master, this, metricsMaster);
  snapshotTable(snapshot, handler);
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:16,代码来源:SnapshotManager.java

示例12: cloneSnapshot

import org.apache.hadoop.hbase.snapshot.HBaseSnapshotException; //导入依赖的package包/类
/**
 * Clone the specified snapshot into a new table.
 * The operation will fail if the destination table has a snapshot or restore in progress.
 *
 * @param snapshot Snapshot Descriptor
 * @param hTableDescriptor Table Descriptor of the table to create
 */
synchronized void cloneSnapshot(final SnapshotDescription snapshot,
    final HTableDescriptor hTableDescriptor) throws HBaseSnapshotException {
  String tableName = hTableDescriptor.getNameAsString();

  // make sure we aren't running a snapshot on the same table
  if (isTakingSnapshot(tableName)) {
    throw new RestoreSnapshotException("Snapshot in progress on the restore table=" + tableName);
  }

  // make sure we aren't running a restore on the same table
  if (isRestoringTable(tableName)) {
    throw new RestoreSnapshotException("Restore already in progress on the table=" + tableName);
  }

  try {
    CloneSnapshotHandler handler =
      new CloneSnapshotHandler(master, snapshot, hTableDescriptor, metricsMaster);
    this.executorService.submit(handler);
    this.restoreHandlers.put(tableName, handler);
  } catch (Exception e) {
    String msg = "Couldn't clone the snapshot=" + SnapshotDescriptionUtils.toString(snapshot) +
      " on table=" + tableName;
    LOG.error(msg, e);
    throw new RestoreSnapshotException(msg, e);
  }
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:34,代码来源:SnapshotManager.java

示例13: restoreSnapshot

import org.apache.hadoop.hbase.snapshot.HBaseSnapshotException; //导入依赖的package包/类
/**
 * Restore the specified snapshot.
 * The restore will fail if the destination table has a snapshot or restore in progress.
 *
 * @param snapshot Snapshot Descriptor
 * @param hTableDescriptor Table Descriptor
 */
private synchronized void restoreSnapshot(final SnapshotDescription snapshot,
    final HTableDescriptor hTableDescriptor) throws HBaseSnapshotException {
  String tableName = hTableDescriptor.getNameAsString();

  // make sure we aren't running a snapshot on the same table
  if (isTakingSnapshot(tableName)) {
    throw new RestoreSnapshotException("Snapshot in progress on the restore table=" + tableName);
  }

  // make sure we aren't running a restore on the same table
  if (isRestoringTable(tableName)) {
    throw new RestoreSnapshotException("Restore already in progress on the table=" + tableName);
  }

  try {
    RestoreSnapshotHandler handler =
      new RestoreSnapshotHandler(master, snapshot, hTableDescriptor, metricsMaster);
    this.executorService.submit(handler);
    restoreHandlers.put(hTableDescriptor.getNameAsString(), handler);
  } catch (Exception e) {
    String msg = "Couldn't restore the snapshot=" + SnapshotDescriptionUtils.toString(
        snapshot)  +
        " on table=" + tableName;
    LOG.error(msg, e);
    throw new RestoreSnapshotException(msg, e);
  }
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:35,代码来源:SnapshotManager.java

示例14: deleteSnapshot

import org.apache.hadoop.hbase.snapshot.HBaseSnapshotException; //导入依赖的package包/类
/**
 * Delete the specified snapshot
 * @param snapshot
 * @throws SnapshotDoesNotExistException If the specified snapshot does not exist.
 * @throws IOException For filesystem IOExceptions
 */
public void deleteSnapshot(SnapshotDescription snapshot) throws SnapshotDoesNotExistException, IOException {

  // call coproc pre hook
  MasterCoprocessorHost cpHost = master.getMasterCoprocessorHost();
  if (cpHost != null) {
    cpHost.preDeleteSnapshot(snapshot);
  }

  // check to see if it is completed
  if (!isSnapshotCompleted(snapshot)) {
    throw new SnapshotDoesNotExistException(snapshot);
  }

  String snapshotName = snapshot.getName();
  LOG.debug("Deleting snapshot: " + snapshotName);
  // first create the snapshot description and check to see if it exists
  MasterFileSystem fs = master.getMasterFileSystem();
  Path snapshotDir = SnapshotDescriptionUtils.getCompletedSnapshotDir(snapshotName, rootDir);

  // delete the existing snapshot
  if (!fs.getFileSystem().delete(snapshotDir, true)) {
    throw new HBaseSnapshotException("Failed to delete snapshot directory: " + snapshotDir);
  }

  // call coproc post hook
  if (cpHost != null) {
    cpHost.postDeleteSnapshot(snapshot);
  }

}
 
开发者ID:grokcoder,项目名称:pbase,代码行数:37,代码来源:SnapshotManager.java

示例15: deleteSnapshot

import org.apache.hadoop.hbase.snapshot.HBaseSnapshotException; //导入依赖的package包/类
/**
 * Delete the specified snapshot
 * @param snapshot
 * @throws SnapshotDoesNotExistException If the specified snapshot does not exist.
 * @throws IOException For filesystem IOExceptions
 */
public void deleteSnapshot(SnapshotDescription snapshot) throws SnapshotDoesNotExistException, IOException {
  // check to see if it is completed
  if (!isSnapshotCompleted(snapshot)) {
    throw new SnapshotDoesNotExistException(ProtobufUtil.createSnapshotDesc(snapshot));
  }

  String snapshotName = snapshot.getName();
  // first create the snapshot description and check to see if it exists
  FileSystem fs = master.getMasterFileSystem().getFileSystem();
  Path snapshotDir = SnapshotDescriptionUtils.getCompletedSnapshotDir(snapshotName, rootDir);
  // Get snapshot info from file system. The one passed as parameter is a "fake" snapshotInfo with
  // just the "name" and it does not contains the "real" snapshot information
  snapshot = SnapshotDescriptionUtils.readSnapshotInfo(fs, snapshotDir);

  // call coproc pre hook
  MasterCoprocessorHost cpHost = master.getMasterCoprocessorHost();
  org.apache.hadoop.hbase.client.SnapshotDescription snapshotPOJO = null;
  if (cpHost != null) {
    snapshotPOJO = ProtobufUtil.createSnapshotDesc(snapshot);
    cpHost.preDeleteSnapshot(snapshotPOJO);
  }

  LOG.debug("Deleting snapshot: " + snapshotName);
  // delete the existing snapshot
  if (!fs.delete(snapshotDir, true)) {
    throw new HBaseSnapshotException("Failed to delete snapshot directory: " + snapshotDir);
  }

  // call coproc post hook
  if (cpHost != null) {
    cpHost.postDeleteSnapshot(snapshotPOJO);
  }

}
 
开发者ID:apache,项目名称:hbase,代码行数:41,代码来源:SnapshotManager.java


注:本文中的org.apache.hadoop.hbase.snapshot.HBaseSnapshotException类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。