I was going to update the Wiki with the information, but it seems to be
down for me at the moment.  A few people have already bumped into some
issues, so I'm informing via the *-dev lists for now.

In trunk, there are three new unit tests:

    TestMapreduceConfigFields (MAPREDUCE-6192)
    TestYarnConfigurationFields (YARN-2957)
    TestHdfsConfigFields (HDFS-7559)

which perform automatic comparison of properties between one of the
*-default.xml files and a set of Java classes.

As of right now, if a property is added to the .xml file, there should be
one of the following:

1) The property defined in the appropriate Java *Config.java class (e.g.
MRJobConfig)

2) The property should be added to the xmlPropsToSkipCompare or
xmlPrefixToSkipCompare HashSet in the appropriate unit test.

This guarantees that if a .xml property is created, that the corresponding
property is spelled correctly in the Java class or its exception is
documented in the unit test.

The following three JIRAs are open to do the reverse check (flag when a
property exists in a Java class, but not in the .xml file).

    YARN-3069
    MAPREDUCE-6358
    HDFS-8356

The above JIRAs will take more time due to getting the description fields
properly filled out and making sure the default values are correct.  In
some cases, such as properties that would override an older property, more
exceptions will need to be added.

Once all of the above are done, I may take a more solid attempt at doing
the same for CommonConfigurationKeys/core-default.xml.

Thanks to everyone who have been reviewing, committing, and updating the
new unit tests.

-Ray

Reply via email to