You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@crunch.apache.org by "Christophe Van Gysel (JIRA)" <ji...@apache.org> on 2013/11/21 15:11:35 UTC
[jira] [Created] (CRUNCH-302) PType OutputMapFn not initialised
when using MemPipeline
Christophe Van Gysel created CRUNCH-302:
-------------------------------------------
Summary: PType OutputMapFn not initialised when using MemPipeline
Key: CRUNCH-302
URL: https://issues.apache.org/jira/browse/CRUNCH-302
Project: Crunch
Issue Type: Bug
Components: Core, IO
Affects Versions: 0.9.0
Environment: Crunch synced to 2aa692e5299ee9d775218d4754ae73f3d58beed1
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)
Reporter: Christophe Van Gysel
Assignee: Josh Wills
Priority: Minor
It seems that the OutputMapFns for PTypes aren't initialised when running in local memory. For most types this doesn't matter, but it gets tricky when using a Tuple as a key or value type in a PTable or a PCollection of Tuples; the following exception gets thrown:
Caused by: java.lang.NullPointerException
at org.apache.crunch.types.writable.Writables$TupleTWMapFn.map(Writables.java:376)
at org.apache.crunch.types.writable.Writables$TupleTWMapFn.map(Writables.java:337)
at org.apache.crunch.impl.mem.MemPipeline.writeSequenceFileFromPTable(MemPipeline.java:270)
at org.apache.crunch.impl.mem.MemPipeline.write(MemPipeline.java:196)
at org.apache.crunch.impl.mem.MemPipeline.write(MemPipeline.java:177)
I'm currently working around this issue by explicitly calling the initialize() method on MapFn, like this:
table.getPTableType().getValueType().getOutputMapFn().initialize();
--
This message was sent by Atlassian JIRA
(v6.1#6144)