On Linux platforms where user IDs start at 500 rather than 1000, the build currently is broken. This includes CentOS, RHEL, Fedora, SuSE, and probably most other Linux platforms. It does happen to work on Debian and Ubuntu, which explains why Jenkins hasn't caught it yet.
Other users will see something like this:
[INFO] Requested user cmccabe has id 500, which is below the minimum allowed 1000
[INFO] FAIL: test-container-executor
[INFO] 1 of 1 test failed
[INFO] Please report to email@example.com
[INFO] make: *** [check-TESTS] Error 1
[INFO] make: Leaving directory `/home/cmccabe/hadoop4/hadoop-mapreduce-project/hadoop-yarn/hadoop-yarn
And then the build fails. Since native unit tests are currently unskippable (
HADOOP-8480) this makes the project unbuildable.
The easy solution to this is to relax the constraint for the unit test. Since the unit test already writes its own configuration file, we just need to change it there.
In general, I believe that it would make sense to change this to 500 across the board. I'm not aware of any Linuxes that create system users with IDs higher than or equal to 500. System user IDs tend to be below 200.
However, if we do nothing else, we should at least fix the build by relaxing the constraint for unit tests.