Package org.apache.hadoop.hbase.io

Examples of org.apache.hadoop.hbase.io.HFileLink


     * @return the store file information
     */
    FileInfo addStoreFile(final String region, final String family, final String hfile)
          throws IOException {
      String table = this.snapshot.getTable();
      HFileLink link = HFileLink.create(conf, table, region, family, hfile);
      boolean inArchive = false;
      long size = -1;
      try {
        if ((inArchive = fs.exists(link.getArchivePath()))) {
          size = fs.getFileStatus(link.getArchivePath()).getLen();
          hfileArchiveSize += size;
          hfileArchiveCount++;
        } else {
          size = link.getFileStatus(fs).getLen();
          hfileSize += size;
          hfilesCount++;
        }
      } catch (FileNotFoundException e) {
        hfilesMissing++;
View Full Code Here


      final Path snapshotDir, final SnapshotDescription snapshotDesc) throws IOException {
    final String table = snapshotDesc.getTable();
    visitTableStoreFiles(fs, snapshotDir, new FSVisitor.StoreFileVisitor() {
      public void storeFile (final String region, final String family, final String hfile)
          throws IOException {
        HFileLink link = HFileLink.create(conf, table, region, family, hfile);
        try {
          link.getFileStatus(fs);
        } catch (FileNotFoundException e) {
          throw new CorruptedSnapshotException("Corrupted snapshot '" + snapshotDesc + "'", e);
        }
      }
    });
View Full Code Here

    this.fileStatus = fileStatus;
    Path p = fileStatus.getPath();
    if (HFileLink.isHFileLink(p)) {
      // HFileLink
      this.reference = null;
      this.link = new HFileLink(conf, p);
      if (LOG.isTraceEnabled()) LOG.trace(p + " is a link");
    } else if (isReference(p)) {
      this.reference = Reference.read(fs, p);
      Path referencePath = getReferredToFile(p);
      if (HFileLink.isHFileLink(referencePath)) {
        // HFileLink Reference
        this.link = new HFileLink(conf, referencePath);
      } else {
        // Reference
        this.link = null;
      }
      if (LOG.isTraceEnabled()) LOG.trace(p + " is a " + reference.getFileRegion() +
View Full Code Here

    SnapshotReferenceUtil.visitReferencedFiles(fs, snapshotDir,
      new SnapshotReferenceUtil.FileVisitor() {
        public void storeFile (final String region, final String family, final String hfile)
            throws IOException {
          Path path = HFileLink.createPath(table, region, family, hfile);
          long size = new HFileLink(conf, path).getFileStatus(fs).getLen();
          files.add(new Pair<Path, Long>(path, size));
        }

        public void recoveredEdits (final String region, final String logfile)
            throws IOException {
View Full Code Here

     * if the file is not found.
     */
    private FSDataInputStream openSourceFile(Context context, final Path path) throws IOException {
      try {
        if (HFileLink.isHFileLink(path) || StoreFileInfo.isReference(path)) {
          return new HFileLink(inputRoot, inputArchive, path).open(inputFs);
        } else if (isHLogLinkPath(path)) {
          String serverName = path.getParent().getName();
          String logName = path.getName();
          return new HLogLink(inputRoot, serverName, logName).open(inputFs);
        }
View Full Code Here

    }

    private FileStatus getSourceFileStatus(Context context, final Path path) throws IOException {
      try {
        if (HFileLink.isHFileLink(path) || StoreFileInfo.isReference(path)) {
          HFileLink link = new HFileLink(inputRoot, inputArchive, path);
          return link.getFileStatus(inputFs);
        } else if (isHLogLinkPath(path)) {
          String serverName = path.getParent().getName();
          String logName = path.getName();
          return new HLogLink(inputRoot, serverName, logName).getFileStatus(inputFs);
        }
View Full Code Here

      linkPath = new Path(family, HFileLink.createHFileLinkName(tableName,
        regionInfo.getEncodedName(), fileName));
    }

    // check if the linked file exists (in the archive, or in the table dir)
    HFileLink link = new HFileLink(services.getConfiguration(), linkPath);
    if (!link.exists(fs)) {
      throw new CorruptedSnapshotException("Can't find hfile: " + fileName
          + " in the real (" + link.getOriginPath() + ") or archive (" + link.getArchivePath()
          + ") directory for the primary table.", snapshot);
    }
  }
View Full Code Here

    final ArrayList corruptedFiles = new ArrayList();
    SnapshotReferenceUtil.visitTableStoreFiles(fs, snapshotDir, new FSVisitor.StoreFileVisitor() {
      public void storeFile (final String region, final String family, final String hfile)
          throws IOException {
        HFileLink link = HFileLink.create(util.getConfiguration(), table, region, family, hfile);
        if (corruptedFiles.size() % 2 == 0) {
          fs.delete(link.getAvailablePath(fs));
          corruptedFiles.add(hfile);
        }
      }
    });
View Full Code Here

    this.dataBlockEncoder =
        dataBlockEncoder == null ? NoOpDataBlockEncoder.INSTANCE
            : dataBlockEncoder;

    if (HFileLink.isHFileLink(p)) {
      this.link = new HFileLink(conf, p);
      LOG.debug("Store file " + p + " is a link");
    } else if (isReference(p)) {
      this.reference = Reference.read(fs, p);
      this.referencePath = getReferredToFile(this.path);
      if (HFileLink.isHFileLink(this.referencePath)) {
        this.link = new HFileLink(conf, this.referencePath);
      }
      LOG.debug("Store file " + p + " is a " + reference.getFileRegion() +
        " reference to " + this.referencePath);
    } else if (!isHFile(p)) {
      throw new IOException("path=" + path + " doesn't look like a valid StoreFile");
View Full Code Here

      hfilesStatus = fs.listStatus(storeHomeDir);

      for (FileStatus hfileStatus : hfilesStatus) {
        Path p = hfileStatus.getPath();
        if (HFileLink.isHFileLink(p)) {
          hfileStatus = new HFileLink(conf, p).getFileStatus(fs);
        } else if (StoreFile.isReference(p)) {
          p = StoreFile.getReferredToFile(p);
          if (HFileLink.isHFileLink(p)) {
            hfileStatus = new HFileLink(conf, p).getFileStatus(fs);
          } else {
            hfileStatus = fs.getFileStatus(p);
          }
        }
        HDFSBlocksDistribution storeFileBlocksDistribution =
View Full Code Here

TOP

Related Classes of org.apache.hadoop.hbase.io.HFileLink

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.