[ https://issues.apache.org/jira/browse/PIG-1415?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Dai updated PIG-1415: ---------------------------- Status: Resolved (was: Patch Available) Hadoop Flags: [Reviewed] Fix Version/s: 0.7.0 (was: 0.8.0) Resolution: Fixed Patch committed to both 0.7 branch and trunk. > LoadFunc signature is not correct in LoadFunc.getSchema sometimes > ----------------------------------------------------------------- > > Key: PIG-1415 > URL: https://issues.apache.org/jira/browse/PIG-1415 > Project: Pig > Issue Type: Bug > Components: impl > Affects Versions: 0.7.0 > Reporter: Daniel Dai > Assignee: Daniel Dai > Fix For: 0.7.0 > > Attachments: PIG-1415-1.patch > > > The following script does not set signature correctly when we call > LoadFunc.getSchema. > a = load 'xxx' using TableLoader('xxx') as (a, b, c); > However, if we don't give schema to a, we get the right signature: > a = load 'xxx' using TableLoader('xxx); > Diagnosis: > Parser will generate LoadClause before go to the generation "Alias = > LoadClause", which actually set signature to the LOLoad. When we give a > schema, parser try to call LOLoad.setSchema(), internally it will call > LoadFunc.determineSchema. And at that time, signature has not been set yet. > This relates to the change we cache determinedSchema in LOLoad > [PIG-1317|https://issues.apache.org/jira/browse/PIG-1317]. Before that > change, we will later call LoadFunc.getSchema() again using the right > signature. Now we cache determinedSchema, so LoadFunc don't have a chance to > get the right signature inside LoadFunc.getSchema() > Solution: > We shall not call LoadFunc.determineSchema inside LOLoad.setSchema(). -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.