private TableDescriptor loadTableDescriptor() throws IOException {
    TableDescriptor htd = this.master.getTableDescriptors().get(snapshotTable);
    if (htd == null) {
      throw new IOException("TableDescriptor missing for " + snapshotTable);
    }
    if (htd.getMaxFileSize() == -1 && this.snapshot.getMaxFileSize() > 0) {
      htd = TableDescriptorBuilder.newBuilder(htd).setValue(TableDescriptorBuilder.MAX_FILESIZE,
        Long.toString(this.snapshot.getMaxFileSize())).build();
    }
    return htd;
  }
@param snapshot       descriptor of the snapshot to take
@param masterServices master services provider
@throws IllegalArgumentException if the working snapshot directory set from the configuration
                                 is the same as the completed snapshot directory
@throws IOException              if the file system of the working snapshot directory cannot be
                                 determined
hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.java