You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-issues@hadoop.apache.org by "Gera Shegalov (JIRA)" <ji...@apache.org> on 2015/05/05 20:09:00 UTC
[jira] [Created] (HADOOP-11924) Tolerate JDK-8047340-related
exceptions in Shell#isSetSidAvailable preventing class init
Gera Shegalov created HADOOP-11924:
--------------------------------------
Summary: Tolerate JDK-8047340-related exceptions in Shell#isSetSidAvailable preventing class init
Key: HADOOP-11924
URL: https://issues.apache.org/jira/browse/HADOOP-11924
Project: Hadoop Common
Issue Type: Bug
Reporter: Gera Shegalov
Address the root cause of HADOOP-11916 per https://issues.apache.org/jira/browse/HADOOP-11916?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14528009#comment-14528009
{quote}
JDK-8047340 explicitly calls out BSD-like systems, should not we just exclude those systems instead of enabling solely Linux?
{code}
Assume.assumeFalse("Avoiding JDK-8047340 on BSD-based systems", Shell.FREEBSD || Shell.MAC);
{code}
However, I don't think this is the right fix. Shell on BSD-like systems is broken with the TR locale. Shell class initialization happens only because StringUtils references Shell.WINDOWS.
We can simply catch Throwable in Shell#isSetsidSupported instead of IOException. If we want to be pedantic we can rethrow
{code}
if (!(t instanceof IOException) && !(Shell.FREEBSD || Shell.MAC))
{code}
With such a change the test can run unchanged.
{quote}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)