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)