[ 
https://issues.apache.org/jira/browse/HADOOP-15748?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Steve Loughran updated HADOOP-15748:
------------------------------------
    Target Version/s: 2.10.0, 3.1.2
              Status: Patch Available  (was: Open)

Patch 001. Downgrade FNFE to a warning, which calls out "this may be 
inconsistency at work" (or its just some race condition between the glob and 
some other app).

No easy way to add a test for this that I can see. 

All other uses of {{Globber.getFileStatus()}} checked and they do handle null 
already

> S3 listing inconsistency can raise NPE in globber
> -------------------------------------------------
>
>                 Key: HADOOP-15748
>                 URL: https://issues.apache.org/jira/browse/HADOOP-15748
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: fs
>    Affects Versions: 2.8.4, 2.9.1
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>            Priority: Major
>         Attachments: HADOOP-15748-001.patch
>
>
> FileSystem Globber does a listStatus(path) and then, if only one element is 
> returned, {{getFileStatus(path).isDirectory()}} to see if it is a dir. The 
> way getFileStatus() is wrapped, IOEs are downgraded to null
> On S3, if the path has had entries deleted, the listing may include files 
> which are no longer there, so the getFileStatus(path),isDirectory triggers an 
> NPE
> While its wrong to glob against S3 when its being inconsistent, we should at 
> least fail gracefully here.
> Proposed
> # log all IOEs raised in Globber.getFileStatus @ debug
> # catch FNFEs and downgrade to warn
> # continue
> The alternative would be fail fast on FNFE, but that's more traumatic



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to