PigSplit does not handle the case where SerializationFactory returns null
-------------------------------------------------------------------------
Key: PIG-2645
URL: https://issues.apache.org/jira/browse/PIG-2645
Project: Pig
Issue Type: Bug
Components: impl
Reporter: Alex Levenson
In PigSplit.java, line 254:
{code}
SerializationFactory sf = new SerializationFactory(conf);
Serializer s = sf.getSerializer(wrappedSplits[0].getClass());
s.open((OutputStream) os);
{code}
sf.getSerializer returns null when it cannot find a serializer for a given
object. Instead of handling this properly, a NPE is thrown when s.open() is
called.
This is easy to encounter when creating a custom InputSplit from the mapreduce
package which is an abstract class that DOES NOT implement Writable.
However it's easy to miss because InputSplit from the mapred package is an
interface that extends Writable, and InputSplits often both extend and
implement both the new and old InputSplit abstract class and interface (thereby
becoming Writable).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira