hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John Doe (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HADOOP-15417) retrieveBlock hangs when the configuration file is corrupted
Date Thu, 26 Apr 2018 19:41:00 GMT
John Doe created HADOOP-15417:

             Summary: retrieveBlock hangs when the configuration file is corrupted
                 Key: HADOOP-15417
                 URL: https://issues.apache.org/jira/browse/HADOOP-15417
             Project: Hadoop Common
          Issue Type: Bug
          Components: common
    Affects Versions: 0.23.0
            Reporter: John Doe

The bufferSize is read from the configuration files.

When the configuration file is corrupted, i.e.,bufferSize=0, the numRead will always be 0,
making the while loop's condition always true, hanging Jets3tFileSystemStore.retrieveBlock()

Here is the snippet of the code. 

  private int bufferSize;

  this.bufferSize = conf.getInt( S3FileSystemConfigKeys.S3_STREAM_BUFFER_SIZE_KEY, S3FileSystemConfigKeys.S3_STREAM_BUFFER_SIZE_DEFAULT);

  public File retrieveBlock(Block block, long byteRangeStart)
    throws IOException {
    File fileBlock = null;
    InputStream in = null;
    OutputStream out = null;
    try {
      fileBlock = newBackupFile();
      in = get(blockToKey(block), byteRangeStart);
      out = new BufferedOutputStream(new FileOutputStream(fileBlock));
      byte[] buf = new byte[bufferSize];
      int numRead;
      while ((numRead = in.read(buf)) >= 0) {
        out.write(buf, 0, numRead);
      return fileBlock;
    } catch (IOException e) {
    } finally {

Similar case: [Hadoop-15415|https://issues.apache.org/jira/browse/HADOOP-15415].

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: common-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-dev-help@hadoop.apache.org

View raw message