Bobby Wang created HADOOP-17812:
-----------------------------------

             Summary: NPE when reading s3a
                 Key: HADOOP-17812
                 URL: https://issues.apache.org/jira/browse/HADOOP-17812
             Project: Hadoop Common
          Issue Type: Bug
          Components: tools
            Reporter: Bobby Wang


when [reading from S3a 
storage|https://github.com/apache/hadoop/blob/rel/release-3.2.0/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AInputStream.java#L450],
 SSLException (which extends IOException) happens, which will trigger 
[onReadFailure|https://github.com/apache/hadoop/blob/rel/release-3.2.0/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AInputStream.java#L458].

onReadFailure calls "reopen". it will first close the original *wrappedStream* 
and set *wrappedStream = null*, and then it will try to [re-get 
*wrappedStream*|https://github.com/apache/hadoop/blob/rel/release-3.2.0/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AInputStream.java#L184].
 But what if the previous code [obtaining 
S3Object|https://github.com/apache/hadoop/blob/rel/release-3.2.0/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AInputStream.java#L183]
 throw exception, then "wrappedStream" will be null.

And the 
[retry|https://github.com/apache/hadoop/blob/rel/release-3.2.0/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AInputStream.java#L446]
 mechanism may re-execute the 
[wrappedStream.read|https://github.com/apache/hadoop/blob/rel/release-3.2.0/hadoop-tools/hadoop-aws/src/main/java/org/apache/hadoop/fs/s3a/S3AInputStream.java#L450]
 and cause NPE.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to