hadoop-hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Zheng Shao (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HIVE-790) race condition related to ScriptOperator + UnionOperator
Date Thu, 27 Aug 2009 16:18:59 GMT

    [ https://issues.apache.org/jira/browse/HIVE-790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12748420#action_12748420
] 

Zheng Shao commented on HIVE-790:
---------------------------------

Added the guard.
{code}
public void close(boolean abort) {

  // Do not close twice
  if (this.state == CLOSE) {
    return;
  }

  // only close when all parents are closed.
  if (!allParentsAreClosed()) {
    return;
  }

  this.state = CLOSE;
  // Close this operator
  this.closeOp(boolean abort);

  // Close all children
  for (int i=0; i<children.size(); i++) {
    children.get(i).close(abort);
  }
}

protected void closeOp(boolean abort) {
  // Different operator will have different states.
}
{code}


> race condition related to ScriptOperator + UnionOperator
> --------------------------------------------------------
>
>                 Key: HIVE-790
>                 URL: https://issues.apache.org/jira/browse/HIVE-790
>             Project: Hadoop Hive
>          Issue Type: Bug
>            Reporter: Zheng Shao
>            Assignee: Ning Zhang
>         Attachments: Hive-790.patch, Hive-790_2.patch
>
>
> ScriptOperator uses a second thread to output the rows to the children operators. In
a corner case which contains a union, 2 threads might be outputting data into the same operator
hierarchy and caused race conditions.
> {code}
> CREATE TABLE tablea (cola STRING);
> SELECT *
> FROM (
>     SELECT TRANSFORM(cola)
>     USING 'cat'
>     AS cola
>     FROM tablea
>   UNION ALL
>     SELECT cola as cola
>     FROM tablea
> ) a;
> {code}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message