Kirk Stork created PIG-3406:
-------------------------------
Summary: JsonStorage generates NPE after successfully saving
records
Key: PIG-3406
URL: https://issues.apache.org/jira/browse/PIG-3406
Project: Pig
Issue Type: Bug
Affects Versions: 0.11.1
Environment: OSX 10.8.4, running PigServer in local mode from a Groovy
script.
Reporter: Kirk Stork
Make a new PigServer("local") instance, process some queries and save an alias
using
PigServer piggy = new PigServer("local")
... some queries..
def job = piggy.store("c_observer_id", "obs.json",
'org.apache.pig.builtin.JsonStorage');
The local directory obs.json is created and populated with correct results.
but then an NPE is thrown, apparently during some attempt to store the schema.
HadoopVersion PigVersion UserId StartedAt FinishedAt Features
1.1.0 0.11.1 kirk 2013-08-01 14:09:41 2013-08-01 14:09:42 GROUP_BY
Success!
Job Stats (time in seconds):
JobId Alias Feature Outputs
job_local_0001 c_observer_id,g_observer_id,obs GROUP_BY,COMBINER
obs.json,
Input(s):
Successfully read records from:
"/Volumes/Work/work/combatxxi-acceptance-testing/pig-input/Ambush_Mine_RPG-7.cxxi/Replication_1_SIMKIT_CONGRUENTIAL/ObserveLogger.log"
Output(s):
Successfully stored records in: "obs.json"
Job DAG:
job_local_0001
org.apache.pig.PigException: ERROR 1002: Unable to store alias c_observer_id
at org.apache.pig.PigServer.storeEx(PigServer.java:935)
at org.apache.pig.PigServer.store(PigServer.java:898)
at org.apache.pig.PigServer$store.call(Unknown Source)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:124)
at
edu.nps.cxxi.testbench.lff33.ObserveLoggerService.oink(ObserveLoggerService.groovy:27)
at edu.nps.cxxi.testbench.lff33.ObserveLoggerService$oink.call(Unknown
Source)
at
org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:45)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at
edu.nps.cxxi.testbench.lff33.ObserveLoggerServiceTests.testSomething(ObserveLoggerServiceTests.groovy:42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
at
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:77)
at
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195)
at
com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: org.apache.pig.backend.executionengine.ExecException: ERROR 2043:
Unexpected error during execution.
at org.apache.pig.PigServer.launchPlan(PigServer.java:1275)
at
org.apache.pig.PigServer.executeCompiledLogicalPlan(PigServer.java:1249)
at org.apache.pig.PigServer.storeEx(PigServer.java:931)
... 41 more
Caused by: java.lang.NullPointerException
at
org.apache.pig.builtin.JsonMetadata.storeSchema(JsonMetadata.java:314)
at org.apache.pig.builtin.JsonStorage.storeSchema(JsonStorage.java:274)
at
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputCommitter.storeCleanup(PigOutputCommitter.java:141)
at
org.apache.pig.backend.hadoop.executionengine.shims.HadoopShims.storeSchemaForLocal(HadoopShims.java:85)
at
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher.launchPig(MapReduceLauncher.java:427)
at org.apache.pig.PigServer.launchPlan(PigServer.java:1264)
... 43 more
13/08/01 14:09:42 INFO spring.GrailsWebApplicationContext: Closing
org.codehaus.groovy.grails.commons.spring.GrailsWebApplicationContext@784ed19b:
startup date [Thu Aug 01 14:09:39 PDT 2013]; root of context hierarchy
13/08/01 14:09:42 INFO support.DefaultListableBeanFactory: Destroying
singletons in
org.springframework.beans.factory.support.DefaultListableBeanFactory@4d838b:
defining beans
[grailsApplication,pluginManager,messageSource,orgGrailsBeansConstraintsEvaluator,grailsProxyHandler,observeLoggerService];
root of factory hierarchy
If I save to PigStorage, it works fine.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira