[
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]