[
https://issues.apache.org/jira/browse/PIG-226?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Arun C Murthy updated PIG-226:
------------------------------
Attachment: PIG-226_0_20080501.patch
I've fixed the {Load|Store}Optimizer to check if the StreamingCommand's
{in|out}Specs implement {Load|Store}Func before casting them. The patch also
contains a test case for the same. I have also checked that the test fails
without the fix to the {Load|Store}Optimizer.
> Problem with streaming optimization
> -----------------------------------
>
> Key: PIG-226
> URL: https://issues.apache.org/jira/browse/PIG-226
> Project: Pig
> Issue Type: Bug
> Reporter: Olga Natkovich
> Assignee: Arun C Murthy
> Attachments: PIG-226_0_20080501.patch
>
>
> Current optimization code assumes that every storeage function implements
> both LoadFunc and StoreFunc interfaces and causes an exception if it does not.
> 2008-05-01 13:31:23,662 [main] ERROR org.apache.pig.tools.grunt.Grunt -
> java.lang.RuntimeException: could not instantiate
> 'org.apache.pig.test.udf.storefunc.DumpLoader' with arguments '[]'
> at org.apache.pig.impl.PigContext.instantiateFunc(PigContext.java:515)
> at
> org.apache.pig.impl.PigContext.instantiateFuncFromSpec(PigContext.java:521)
> at
> org.apache.pig.impl.logicalLayer.optimizer.streaming.StoreOptimizer.visitStore(StoreOptimizer.java:103)
> at org.apache.pig.impl.logicalLayer.LOStore.visit(LOStore.java:121)
> at
> org.apache.pig.impl.logicalLayer.optimizer.streaming.StoreOptimizer.optimize(StoreOptimizer.java:145)
> at org.apache.pig.PigServer.optimizeAndRunQuery(PigServer.java:411)
> at org.apache.pig.PigServer.registerQuery(PigServer.java:297)
> at
> org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:450)
> at
> org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:233)
> at
> org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:62)
> at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:60)
> at org.apache.pig.Main.main(Main.java:296)
> The code that needs to change is in
> impl/logicalLayer/optimizer/streaming/LoadOptimizer.java and
> impl/logicalLayer/optimizer/streaming/StoreOptimizer.java.
> The logic that needs to be added is if the load/store interface is not
> implemented then disable optimization.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.