[ https://issues.apache.org/jira/browse/HADOOP-11293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14206227#comment-14206227 ]
Steve Loughran commented on HADOOP-11293: ----------------------------------------- -1 to anything which stops {{Shell.WINDOWS}} linking or working. It may be tagged {{@LimitedPrivate}} but it is the defacto way that Hadoop apps check OS versions, including YARN apps that choose which CLI to build up based on OS version. Remove the method and a lot of code breaks. And as we can't switch to the new method without stopping compiling/running against Hadoop 2.6 or earlier, this stops us being able to have I would propose # the new OSType classes is added as proposed, marked as public , evolving # the existing {{Shell.WINDOWS}}, {{Shell.LINUX}} properties are retained, and driven off OSType. # they could be tagged as deprectated This strategy removes the need to do a mass change of every source file that calls shell.windows too, reducing the changes of a patch which will currently make moving code across hadoop versions very hard. Finally; why? It may seem inelegant for the windows probe to be in Shell, but there are lot of bits of hadoop that are inelegant. Inelegance does not justify making backwards-incompatible changes across a wide swathe of the codebase. > Factor OSType out from Shell > ---------------------------- > > Key: HADOOP-11293 > URL: https://issues.apache.org/jira/browse/HADOOP-11293 > Project: Hadoop Common > Issue Type: Improvement > Components: util > Reporter: Yongjun Zhang > Assignee: Yongjun Zhang > Attachments: HADOOP-11293.001.patch > > > Currently the code that detects the OS type is located in Shell.java. Code > that need to check OS type refers to Shell, even if no other stuff of Shell > is needed. > I am proposing to refactor OSType out to its own class, so to make the > OSType easier to access and the dependency cleaner. > -- This message was sent by Atlassian JIRA (v6.3.4#6332)