diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt index a61c3490ba0..fec56132f9f 100644 --- a/hadoop-common-project/hadoop-common/CHANGES.txt +++ b/hadoop-common-project/hadoop-common/CHANGES.txt @@ -202,6 +202,9 @@ Release 2.7.0 - UNRELEASED BUG FIXES + HADOOP-11512. Use getTrimmedStrings when reading serialization keys + (Ryan P via harsh) + HADOOP-11488. Difference in default connection timeout for S3A FS (Daisuke Kobayashi via harsh) diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/serializer/SerializationFactory.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/serializer/SerializationFactory.java index 52a0a253bba..aa3c86ae4ec 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/serializer/SerializationFactory.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/serializer/SerializationFactory.java @@ -55,7 +55,7 @@ public class SerializationFactory extends Configured { */ public SerializationFactory(Configuration conf) { super(conf); - for (String serializerName : conf.getStrings( + for (String serializerName : conf.getTrimmedStrings( CommonConfigurationKeys.IO_SERIALIZATIONS_KEY, new String[]{WritableSerialization.class.getName(), AvroSpecificSerialization.class.getName(), diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/serializer/TestSerializationFactory.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/serializer/TestSerializationFactory.java index 18c2637ec5a..b3c8bee159a 100644 --- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/serializer/TestSerializationFactory.java +++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/io/serializer/TestSerializationFactory.java @@ -17,6 +17,8 @@ */ package org.apache.hadoop.io.serializer; +import org.apache.hadoop.io.LongWritable; +import org.apache.hadoop.fs.CommonConfigurationKeys; import org.junit.Test; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertNotNull; @@ -41,4 +43,13 @@ public void testSerializerAvailability() { assertNull("A null should be returned if there are no deserializers found", factory.getDeserializer(TestSerializationFactory.class)); } + + @Test + public void testSerializationKeyIsTrimmed() { + Configuration conf = new Configuration(); + conf.set(CommonConfigurationKeys.IO_SERIALIZATIONS_KEY, " org.apache.hadoop.io.serializer.WritableSerialization "); + SerializationFactory factory = new SerializationFactory(conf); + assertNotNull("Valid class must be returned", + factory.getSerializer(LongWritable.class)); + } }