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)