@Override
  public IsSnapshotDoneResponse isSnapshotDone(RpcController controller,
    IsSnapshotDoneRequest request) throws ServiceException {
    LOG.debug("Checking to see if snapshot from request:"
      + ClientSnapshotDescriptionUtils.toString(request.getSnapshot()) + " is done");
    try {
      server.checkInitialized();
      IsSnapshotDoneResponse.Builder builder = IsSnapshotDoneResponse.newBuilder();
      boolean done = server.snapshotManager.isSnapshotDone(request.getSnapshot());
      builder.setDone(done);
      return builder.build();
    } catch (ForeignException e) {
      throw new ServiceException(e.getCause());
    } catch (IOException e) {
      throw new ServiceException(e);
    }
  }
Checks if the specified snapshot is done.
@return true if the snapshot is in file system ready to use, false if the snapshot is in the
        process of completing
@throws ServiceException wrapping UnknownSnapshotException if invalid snapshot, or a wrapped
                         HBaseSnapshotException with progress failure reason.
hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java