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
|
HADOOP-8563. don't package hadoop-pipes examples/bin
|
||||||
(Colin Patrick McCabe via tgraves)
|
(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
|
BREAKDOWN OF HDFS-3042 SUBTASKS
|
||||||
|
|
||||||
HADOOP-8220. ZKFailoverController doesn't handle failure to become active
|
HADOOP-8220. ZKFailoverController doesn't handle failure to become active
|
||||||
|
@ -58,8 +58,8 @@ public synchronized boolean accept(Class<?> c) {
|
|||||||
if (packages == null) {
|
if (packages == null) {
|
||||||
getPackages();
|
getPackages();
|
||||||
}
|
}
|
||||||
return AvroReflectSerializable.class.isAssignableFrom(c) ||
|
return AvroReflectSerializable.class.isAssignableFrom(c) ||
|
||||||
packages.contains(c.getPackage().getName());
|
(c.getPackage() != null && packages.contains(c.getPackage().getName()));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void getPackages() {
|
private void getPackages() {
|
||||||
|
@ -21,6 +21,7 @@
|
|||||||
import junit.framework.TestCase;
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
import org.apache.hadoop.conf.Configuration;
|
import org.apache.hadoop.conf.Configuration;
|
||||||
|
import org.apache.hadoop.io.serializer.SerializationFactory;
|
||||||
import org.apache.hadoop.io.serializer.SerializationTestUtil;
|
import org.apache.hadoop.io.serializer.SerializationTestUtil;
|
||||||
|
|
||||||
public class TestAvroSerialization extends TestCase {
|
public class TestAvroSerialization extends TestCase {
|
||||||
@ -43,6 +44,12 @@ public void testReflectPkg() throws Exception {
|
|||||||
assertEquals(before, after);
|
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 {
|
public void testReflectInnerClass() throws Exception {
|
||||||
InnerRecord before = new InnerRecord();
|
InnerRecord before = new InnerRecord();
|
||||||
before.x = 10;
|
before.x = 10;
|
||||||
|
Loading…
Reference in New Issue
Block a user