HADOOP-8566. AvroReflectSerializer.accept(Class) throws a NPE if the class has no package (primitive types and arrays). (tucu)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1358454 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
141127660c
commit
0a2252bdda
@ -313,6 +313,9 @@ Branch-2 ( Unreleased changes )
|
||||
HADOOP-8563. don't package hadoop-pipes examples/bin
|
||||
(Colin Patrick McCabe via tgraves)
|
||||
|
||||
HADOOP-8566. AvroReflectSerializer.accept(Class) throws a NPE if the class has no
|
||||
package (primitive types and arrays). (tucu)
|
||||
|
||||
BREAKDOWN OF HDFS-3042 SUBTASKS
|
||||
|
||||
HADOOP-8220. ZKFailoverController doesn't handle failure to become active
|
||||
|
@ -58,8 +58,8 @@ public synchronized boolean accept(Class<?> c) {
|
||||
if (packages == null) {
|
||||
getPackages();
|
||||
}
|
||||
return AvroReflectSerializable.class.isAssignableFrom(c) ||
|
||||
packages.contains(c.getPackage().getName());
|
||||
return AvroReflectSerializable.class.isAssignableFrom(c) ||
|
||||
(c.getPackage() != null && packages.contains(c.getPackage().getName()));
|
||||
}
|
||||
|
||||
private void getPackages() {
|
||||
|
@ -21,6 +21,7 @@
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.apache.hadoop.conf.Configuration;
|
||||
import org.apache.hadoop.io.serializer.SerializationFactory;
|
||||
import org.apache.hadoop.io.serializer.SerializationTestUtil;
|
||||
|
||||
public class TestAvroSerialization extends TestCase {
|
||||
@ -43,6 +44,12 @@ public void testReflectPkg() throws Exception {
|
||||
assertEquals(before, after);
|
||||
}
|
||||
|
||||
public void testAcceptHandlingPrimitivesAndArrays() throws Exception {
|
||||
SerializationFactory factory = new SerializationFactory(conf);
|
||||
assertNull(factory.getSerializer(byte[].class));
|
||||
assertNull(factory.getSerializer(byte.class));
|
||||
}
|
||||
|
||||
public void testReflectInnerClass() throws Exception {
|
||||
InnerRecord before = new InnerRecord();
|
||||
before.x = 10;
|
||||
|
Loading…
Reference in New Issue
Block a user