[ https://issues.apache.org/jira/browse/HDFS-6421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14002574#comment-14002574 ]
Colin Patrick McCabe commented on HDFS-6421: -------------------------------------------- bq. (Red Hat's policy is fairly standard vs. the rest of the industry, at least in my experiences. So while clearly other vendors will have different policies, this one is a good representative sample, IMHO.) Let's not compare apples and oranges. When Red Hat says they "support" 10 year old operating systems, it doesn't mean they compile the trunk versions of projects on them. It means they backport a carefully selected set of security and robustness patches. bq. Java should 'compile' with not too many issues, so we're really talking about the C code. I think the issues in Java are pretty similar to the issues in C. We can choose to support old versions of stuff, or not. The Java equivalent of supporting a 10-year-old OS would be supporting JDK5, which we did not choose to do in Hadoop trunk. If we choose not to support JDK5 or RHEL4, we are telling admins that use those products that they need to upgrade to use the latest version of Hadoop, which might be annoying for some. But we gain the ability to use additional features that were not present in RHEL4 or JDK5, and write simpler and less buggy code because there are fewer special cases. As it turns out, we don't support JDK5. So it seems clear that people feel that 10 years is long enough (and some people even think we should drop support for JDK6 in branch-2, although I am not one of them.) All I am asking is that we apply the same standards to the C code that we apply to the Java code. bq. The last time I looked at the code, it wasn't that bad to rewrite the non-portable portions to be much more portable+feature/structure detection. If this was done, then I'd expect it to work on 10-year-old OSes without too much effort. The vast majority of calls we need to make aren't particularly new... Alan, the C code in YARN depends extensively on {{cgroups}}. This is a Linux feature which is not present before RHEL6. You can read the manual here: https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/ch01.html This isn't just a system call that got a new argument or something, it's an entire subsystem which is simply missing in the older OS, and which YARN uses to isolate processes. > RHEL4 fails to compile vecsum.c > ------------------------------- > > Key: HDFS-6421 > URL: https://issues.apache.org/jira/browse/HDFS-6421 > Project: Hadoop HDFS > Issue Type: Bug > Components: libhdfs > Affects Versions: 2.5.0 > Environment: RHEL4 > Reporter: Jason Lowe > Assignee: Mit Desai > Attachments: HDFS-6421.patch, HDFS-6421.patch > > > After HDFS-6287 RHEL4 builds fail trying to compile vecsum.c since they don't > have RUSAGE_THREAD. RHEL4 is ancient, but we use it in a 32-bit > compatibility environment. -- This message was sent by Atlassian JIRA (v6.2#6252)