Backport of HADOOP-8362 from trunk. svn merge -c 1361712 ../../trunk. (harsh)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-2@1361714 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
30d0104c0e
commit
f868d9fc98
|
@ -69,6 +69,8 @@ Release 2.0.1-alpha - UNRELEASED
|
||||||
|
|
||||||
HADOOP-8541. Better high-percentile latency metrics. (Andrew Wang via atm)
|
HADOOP-8541. Better high-percentile latency metrics. (Andrew Wang via atm)
|
||||||
|
|
||||||
|
HADOOP-8362. Improve exception message when Configuration.set() is called with a null key or value. (Madhukara Phatak and Suresh Srinivas via harsh)
|
||||||
|
|
||||||
BUG FIXES
|
BUG FIXES
|
||||||
|
|
||||||
HADOOP-8372. NetUtils.normalizeHostName() incorrectly handles hostname
|
HADOOP-8372. NetUtils.normalizeHostName() incorrectly handles hostname
|
||||||
|
|
|
@ -84,6 +84,7 @@ import org.w3c.dom.Node;
|
||||||
import org.w3c.dom.NodeList;
|
import org.w3c.dom.NodeList;
|
||||||
import org.w3c.dom.Text;
|
import org.w3c.dom.Text;
|
||||||
import org.xml.sax.SAXException;
|
import org.xml.sax.SAXException;
|
||||||
|
import com.google.common.base.Preconditions;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provides access to configuration parameters.
|
* Provides access to configuration parameters.
|
||||||
|
@ -775,8 +776,15 @@ public class Configuration implements Iterable<Map.Entry<String,String>>,
|
||||||
* @param value property value.
|
* @param value property value.
|
||||||
* @param source the place that this configuration value came from
|
* @param source the place that this configuration value came from
|
||||||
* (For debugging).
|
* (For debugging).
|
||||||
|
* @throws IllegalArgumentException when the value or name is null.
|
||||||
*/
|
*/
|
||||||
public void set(String name, String value, String source) {
|
public void set(String name, String value, String source) {
|
||||||
|
Preconditions.checkArgument(
|
||||||
|
name != null,
|
||||||
|
"Property name must not be null");
|
||||||
|
Preconditions.checkArgument(
|
||||||
|
value != null,
|
||||||
|
"Property value must not be null");
|
||||||
if (deprecatedKeyMap.isEmpty()) {
|
if (deprecatedKeyMap.isEmpty()) {
|
||||||
getProps();
|
getProps();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1021,6 +1021,26 @@ public class TestConfiguration extends TestCase {
|
||||||
assertTrue("Picked out wrong key " + key3, !res.containsKey(key3));
|
assertTrue("Picked out wrong key " + key3, !res.containsKey(key3));
|
||||||
assertTrue("Picked out wrong key " + key4, !res.containsKey(key4));
|
assertTrue("Picked out wrong key " + key4, !res.containsKey(key4));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testSettingValueNull() throws Exception {
|
||||||
|
Configuration config = new Configuration();
|
||||||
|
try {
|
||||||
|
config.set("testClassName", null);
|
||||||
|
fail("Should throw an IllegalArgumentException exception ");
|
||||||
|
} catch (Exception e) {
|
||||||
|
assertTrue(e instanceof IllegalArgumentException);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void testSettingKeyNull() throws Exception {
|
||||||
|
Configuration config = new Configuration();
|
||||||
|
try {
|
||||||
|
config.set(null, "test");
|
||||||
|
fail("Should throw an IllegalArgumentException exception ");
|
||||||
|
} catch (Exception e) {
|
||||||
|
assertTrue(e instanceof IllegalArgumentException);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static void main(String[] argv) throws Exception {
|
public static void main(String[] argv) throws Exception {
|
||||||
junit.textui.TestRunner.main(new String[]{
|
junit.textui.TestRunner.main(new String[]{
|
||||||
|
|
Loading…
Reference in New Issue