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


Java FSExceptionMessages.NEGATIVE_SEEK属性代码示例

本文整理汇总了Java中org.apache.hadoop.fs.FSExceptionMessages.NEGATIVE_SEEK属性的典型用法代码示例。如果您正苦于以下问题:Java FSExceptionMessages.NEGATIVE_SEEK属性的具体用法?Java FSExceptionMessages.NEGATIVE_SEEK怎么用?Java FSExceptionMessages.NEGATIVE_SEEK使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在org.apache.hadoop.fs.FSExceptionMessages的用法示例。


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

示例1: seek

@Override
public synchronized void seek(long pos) throws FileNotFoundException, EOFException, IOException {
  try {
    checkNotClosed();
    if (pos < 0) {
      throw new EOFException(FSExceptionMessages.NEGATIVE_SEEK);
    }
    IOUtils.closeStream(in);
    in = store.retrieve(key);
    this.pos = in.skip(pos);
    LOG.debug("Seek to position {}. Bytes skipped {}", pos,
      this.pos);
  } catch(IOException e) {

    Throwable innerException = checkForAzureStorageException(e);

    if (innerException instanceof StorageException
         && isFileNotFoundException((StorageException) innerException)) {
      throw new FileNotFoundException(String.format("%s is not found", key));
    }

    throw e;
  }
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:24,代码来源:NativeAzureFileSystem.java

示例2: seek

@Override
public synchronized void seek(long targetPos) throws IOException {
  checkNotClosed();

  // Do not allow negative seek
  if (targetPos < 0) {
    throw new EOFException(FSExceptionMessages.NEGATIVE_SEEK
        + " " + targetPos);
  }

  if (contentLength <= 0) {
    return;
  }

  // Lazy seek
  nextReadPos = targetPos;
}
 
开发者ID:SparkTC,项目名称:stocator,代码行数:17,代码来源:COSInputStream.java

示例3: seek

/** Seek to a position. */
@Override
public void seek(long pos) throws IOException {
  if (pos < 0) {
    throw new EOFException(FSExceptionMessages.NEGATIVE_SEEK);
  }
  checkStream();
  try {
    /*
     * If data of target pos in the underlying stream has already been read 
     * and decrypted in outBuffer, we just need to re-position outBuffer.
     */
    if (pos <= streamOffset && pos >= (streamOffset - outBuffer.remaining())) {
      int forward = (int) (pos - (streamOffset - outBuffer.remaining()));
      if (forward > 0) {
        outBuffer.position(outBuffer.position() + forward);
      }
    } else {
      ((Seekable) in).seek(pos);
      resetStreamOffset(pos);
    }
  } catch (ClassCastException e) {
    throw new UnsupportedOperationException("This stream does not support " +
        "seek.");
  }
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:26,代码来源:CryptoInputStream.java

示例4: seek

@Override
public void seek(long pos) throws IOException {
  if (pos < 0) {
    throw new EOFException(FSExceptionMessages.NEGATIVE_SEEK);
  }
  if (in == null) {
    throw new SwiftConnectionClosedException(FSExceptionMessages.STREAM_IS_CLOSED);
  }
  super.seek(pos);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:10,代码来源:StrictBufferedFSInputStream.java

示例5: seek

@Override
public synchronized void seek(long newpos) throws IOException {
  if (newpos < 0) {
    throw new EOFException(
        FSExceptionMessages.NEGATIVE_SEEK);
  }
  if (pos != newpos) {
    // the seek is attempting to move the current position
    reopen(newpos);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:11,代码来源:NativeS3FileSystem.java

示例6: reopen

private synchronized void reopen(long pos) throws IOException {

    if (wrappedStream != null) {
      if (LOG.isDebugEnabled()) {
        LOG.debug("Aborting old stream to open at pos " + pos);
      }
      wrappedStream.abort();
    }

    if (pos < 0) {
      throw new EOFException(FSExceptionMessages.NEGATIVE_SEEK
          +" " + pos);
    }

    if (contentLength > 0 && pos > contentLength-1) {
      throw new EOFException(
          FSExceptionMessages.CANNOT_SEEK_PAST_EOF
          + " " + pos);
    }

    LOG.debug("Actually opening file " + key + " at pos " + pos);

    GetObjectRequest request = new GetObjectRequest(bucket, key);
    request.setRange(pos, contentLength-1);

    wrappedStream = client.getObject(request).getObjectContent();

    if (wrappedStream == null) {
      throw new IOException("Null IO stream");
    }

    this.pos = pos;
  }
 
开发者ID:naver,项目名称:hadoop,代码行数:33,代码来源:S3AInputStream.java

示例7: reopen

private synchronized void reopen(long pos) throws IOException {

    if (inputStream != null) {
      if (LOG.isDebugEnabled()) {
        LOG.debug("Aborting old stream " + "to open at pos " + pos);
      }
      inputStream.close();
    }

    if (pos < 0) {
      throw new EOFException(FSExceptionMessages.NEGATIVE_SEEK + " " + pos);
    }

    if (contentLength > 0 && pos > contentLength - 1) {
      throw new EOFException(
              FSExceptionMessages.CANNOT_SEEK_PAST_EOF + " " + pos);
    }

    LOG.debug("Actually opening file " + key + " at pos " + pos);

    GetObjectRequest request = new GetObjectRequest(bucket, key);
    request.setRange(pos, contentLength - 1);

    inputStream = ossClient.getObject(request).getObjectContent();

    if (inputStream == null) {
      throw new IOException("Null IO stream");
    }

    this.pos = pos;
  }
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:31,代码来源:OSSInputStream.java

示例8: seek

@Override
public synchronized void seek(long newpos) throws IOException {
  if (newpos < 0) {
    throw new EOFException(
        FSExceptionMessages.NEGATIVE_SEEK);
  }
  if (pos != newpos) {
    // the seek is attempting to move the current position
    LOG.debug("Opening key '{}' for reading at position '{}", key, newpos);
    InputStream newStream = store.retrieve(key, newpos);
    updateInnerStream(newStream, newpos);
  }
}
 
开发者ID:Nextzero,项目名称:hadoop-2.6.0-cdh5.4.3,代码行数:13,代码来源:NativeS3FileSystem.java

示例9: seek

/**
 * Seek to an offset. If the data is already in the buffer, move to it
 * @param targetPos target position
 * @throws IOException on any problem
 */
@Override
public synchronized void seek(long targetPos) throws IOException {
  if (targetPos < 0) {
    throw new EOFException(
        FSExceptionMessages.NEGATIVE_SEEK);
  }
  //there's some special handling of near-local data
  //as the seek can be omitted if it is in/adjacent
  long offset = targetPos - pos;
  if (LOG.isDebugEnabled()) {
    LOG.debug("Seek to " + targetPos + "; current pos =" + pos
              + "; offset="+offset);
  }
  if (offset == 0) {
    LOG.debug("seek is no-op");
    return;
  }

  if (offset < 0) {
    LOG.debug("seek is backwards");
  } else if ((rangeOffset + offset < bufferSize)) {
    //if the seek is in  range of that requested, scan forwards
    //instead of closing and re-opening a new HTTP connection
    SwiftUtils.debug(LOG,
                     "seek is within current stream"
                     + "; pos= %d ; targetPos=%d; "
                     + "offset= %d ; bufferOffset=%d",
                     pos, targetPos, offset, rangeOffset);
    try {
      LOG.debug("chomping ");
      chompBytes(offset);
    } catch (IOException e) {
      //this is assumed to be recoverable with a seek -or more likely to fail
      LOG.debug("while chomping ",e);
    }
    if (targetPos - pos == 0) {
      LOG.trace("chomping successful");
      return;
    }
    LOG.trace("chomping failed");
  } else {
    if (LOG.isDebugEnabled()) {
      LOG.debug("Seek is beyond buffer size of " + bufferSize);
    }
  }

  innerClose("seeking to " + targetPos);
  fillBuffer(targetPos);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:54,代码来源:SwiftNativeInputStream.java


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