[
https://issues.apache.org/jira/browse/PIG-290?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12612205#action_12612205
]
Santhosh Srinivasan commented on PIG-290:
-----------------------------------------
I should have explained better on my previous comment. The ordering of the
nodes in the getPredecessor and getSuccessor calls are preserved as long as the
nodes are not moved around using the disconnect, connect and insertBetween
calls. I have fixed the insertBetween calls to preserve the right order.
If the original order was A->C and A->D if a new node B was inserted between A
and C, then previously you would end up with A->D and then A-B->C. Now you will
have A->B->C and A->D, thus preserving the order for the getPredecessor and
getSuccessor calls.
> LOCross output schema is not right
> ----------------------------------
>
> Key: PIG-290
> URL: https://issues.apache.org/jira/browse/PIG-290
> Project: Pig
> Issue Type: Bug
> Components: impl
> Affects Versions: types_branch
> Reporter: Pi Song
> Assignee: Santhosh Srinivasan
> Attachments: insert_between.patch
>
>
> From the schema generation code:-
> {noformat}
> List<LogicalOperator> inputs = mPlan.getPredecessors(this);
> for (LogicalOperator op : inputs) {
> // Create schema here
> }
> {noformat}
> The output schema is generated based on inputs determined in the logical
> plan. However, mPlan.getPredecessors() doesn't always preserve the right
> order (A x B and B x A result in different schemas). I suggest maintaining
> mInputs variable in LOCross (as it used to be) to resolve this issue.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.