You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pig.apache.org by "Jeff Zhang (JIRA)" <ji...@apache.org> on 2010/06/25 09:49:50 UTC

[jira] Created: (PIG-1464) Should clean the Graph when register another Pig Script

Should clean the Graph when register another Pig Script
-------------------------------------------------------

                 Key: PIG-1464
                 URL: https://issues.apache.org/jira/browse/PIG-1464
             Project: Pig
          Issue Type: Bug
          Components: grunt
    Affects Versions: 0.8.0
            Reporter: Jeff Zhang
            Assignee: Jeff Zhang
             Fix For: 0.8.0


In the current implementation, the variable names in pig script are all global variable. This make one pig script know the variable in other scripts. In my opinion, this is not right. Every relation name in pig script should be local variable, otherwise it will bring in unexpected result.  This issue relates to PIG-1423

E.g there are two pig script as follows:

Test_1.pig
{code}
a = load 'data/b.txt' ;
{code}

Test_2.pig
{code}
b = foreach a generate $0;   // "a" is recognized by Grunt although it is in Test_1.pig
{code}

And the following execute normally, do not throw any exception

{code}
PigServer pig=new PigServer(ExecType.Local);
pig.registerScript("Test_1.pig");
pig.registerScript("Test_2.pig");
{code}

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


[jira] Commented: (PIG-1464) Should clean the Graph when register another Pig Script

Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIG-1464?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12882583#action_12882583 ] 

Hadoop QA commented on PIG-1464:
--------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12448030/PIG_1463.patch
  against trunk revision 957753.

    +1 @author.  The patch does not contain any @author tags.

    +1 tests included.  The patch appears to include 3 new or modified tests.

    +1 javadoc.  The javadoc tool did not generate any warning messages.

    +1 javac.  The applied patch does not increase the total number of javac compiler warnings.

    +1 findbugs.  The patch does not introduce any new Findbugs warnings.

    +1 release audit.  The applied patch does not increase the total number of release audit warnings.

    +1 core tests.  The patch passed core unit tests.

    -1 contrib tests.  The patch failed contrib unit tests.

Test results: http://hudson.zones.apache.org/hudson/job/Pig-Patch-h7.grid.sp2.yahoo.net/350/testReport/
Findbugs warnings: http://hudson.zones.apache.org/hudson/job/Pig-Patch-h7.grid.sp2.yahoo.net/350/artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Console output: http://hudson.zones.apache.org/hudson/job/Pig-Patch-h7.grid.sp2.yahoo.net/350/console

This message is automatically generated.

> Should clean the Graph when register another Pig Script
> -------------------------------------------------------
>
>                 Key: PIG-1464
>                 URL: https://issues.apache.org/jira/browse/PIG-1464
>             Project: Pig
>          Issue Type: Bug
>          Components: grunt
>    Affects Versions: 0.8.0
>            Reporter: Jeff Zhang
>            Assignee: Jeff Zhang
>             Fix For: 0.8.0
>
>         Attachments: PIG_1463.patch
>
>
> In the current implementation, the variable names in pig script are all global variable. This make one pig script know the variable in other scripts. In my opinion, this is not right. Every relation name in pig script should be local variable, otherwise it will bring in unexpected result.  This issue relates to PIG-1423
> E.g there are two pig script as follows:
> Test_1.pig
> {code}
> a = load 'data/b.txt' ;
> {code}
> Test_2.pig
> {code}
> b = foreach a generate $0;   // "a" is recognized by Grunt although it is in Test_1.pig
> {code}
> And the following execute normally, do not throw any exception
> {code}
> PigServer pig=new PigServer(ExecType.Local);
> pig.registerScript("Test_1.pig");
> pig.registerScript("Test_2.pig");
> {code}

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


[jira] Updated: (PIG-1464) Should clean the Graph when register another Pig Script

Posted by "Olga Natkovich (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/PIG-1464?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Olga Natkovich updated PIG-1464:
--------------------------------

    Fix Version/s:     (was: 0.8.0)

Unlinking from the release. We want to keep the release backward compatible to reduce impact on the users

> Should clean the Graph when register another Pig Script
> -------------------------------------------------------
>
>                 Key: PIG-1464
>                 URL: https://issues.apache.org/jira/browse/PIG-1464
>             Project: Pig
>          Issue Type: Bug
>          Components: grunt
>    Affects Versions: 0.8.0
>            Reporter: Jeff Zhang
>            Assignee: Jeff Zhang
>         Attachments: PIG_1463.patch
>
>
> In the current implementation, the variable names in pig script are all global variable. This make one pig script know the variable in other scripts. In my opinion, this is not right. Every relation name in pig script should be local variable, otherwise it will bring in unexpected result.  This issue relates to PIG-1423
> E.g there are two pig script as follows:
> Test_1.pig
> {code}
> a = load 'data/b.txt' ;
> {code}
> Test_2.pig
> {code}
> b = foreach a generate $0;   // "a" is recognized by Grunt although it is in Test_1.pig
> {code}
> And the following execute normally, do not throw any exception
> {code}
> PigServer pig=new PigServer(ExecType.Local);
> pig.registerScript("Test_1.pig");
> pig.registerScript("Test_2.pig");
> {code}

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


[jira] Updated: (PIG-1464) Should clean the Graph when register another Pig Script

Posted by "Jeff Zhang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/PIG-1464?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jeff Zhang updated PIG-1464:
----------------------------

    Attachment: Pig-1406.patch

Attach the patch for this issue

> Should clean the Graph when register another Pig Script
> -------------------------------------------------------
>
>                 Key: PIG-1464
>                 URL: https://issues.apache.org/jira/browse/PIG-1464
>             Project: Pig
>          Issue Type: Bug
>          Components: grunt
>    Affects Versions: 0.8.0
>            Reporter: Jeff Zhang
>            Assignee: Jeff Zhang
>             Fix For: 0.8.0
>
>         Attachments: PIG_1463.patch
>
>
> In the current implementation, the variable names in pig script are all global variable. This make one pig script know the variable in other scripts. In my opinion, this is not right. Every relation name in pig script should be local variable, otherwise it will bring in unexpected result.  This issue relates to PIG-1423
> E.g there are two pig script as follows:
> Test_1.pig
> {code}
> a = load 'data/b.txt' ;
> {code}
> Test_2.pig
> {code}
> b = foreach a generate $0;   // "a" is recognized by Grunt although it is in Test_1.pig
> {code}
> And the following execute normally, do not throw any exception
> {code}
> PigServer pig=new PigServer(ExecType.Local);
> pig.registerScript("Test_1.pig");
> pig.registerScript("Test_2.pig");
> {code}

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


[jira] Updated: (PIG-1464) Should clean the Graph when register another Pig Script

Posted by "Jeff Zhang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/PIG-1464?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jeff Zhang updated PIG-1464:
----------------------------

    Attachment: PIG_1463.patch

> Should clean the Graph when register another Pig Script
> -------------------------------------------------------
>
>                 Key: PIG-1464
>                 URL: https://issues.apache.org/jira/browse/PIG-1464
>             Project: Pig
>          Issue Type: Bug
>          Components: grunt
>    Affects Versions: 0.8.0
>            Reporter: Jeff Zhang
>            Assignee: Jeff Zhang
>             Fix For: 0.8.0
>
>         Attachments: PIG_1463.patch
>
>
> In the current implementation, the variable names in pig script are all global variable. This make one pig script know the variable in other scripts. In my opinion, this is not right. Every relation name in pig script should be local variable, otherwise it will bring in unexpected result.  This issue relates to PIG-1423
> E.g there are two pig script as follows:
> Test_1.pig
> {code}
> a = load 'data/b.txt' ;
> {code}
> Test_2.pig
> {code}
> b = foreach a generate $0;   // "a" is recognized by Grunt although it is in Test_1.pig
> {code}
> And the following execute normally, do not throw any exception
> {code}
> PigServer pig=new PigServer(ExecType.Local);
> pig.registerScript("Test_1.pig");
> pig.registerScript("Test_2.pig");
> {code}

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


[jira] Updated: (PIG-1464) Should clean the Graph when register another Pig Script

Posted by "Jeff Zhang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/PIG-1464?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jeff Zhang updated PIG-1464:
----------------------------

    Attachment:     (was: Pig-1406.patch)

> Should clean the Graph when register another Pig Script
> -------------------------------------------------------
>
>                 Key: PIG-1464
>                 URL: https://issues.apache.org/jira/browse/PIG-1464
>             Project: Pig
>          Issue Type: Bug
>          Components: grunt
>    Affects Versions: 0.8.0
>            Reporter: Jeff Zhang
>            Assignee: Jeff Zhang
>             Fix For: 0.8.0
>
>         Attachments: PIG_1463.patch
>
>
> In the current implementation, the variable names in pig script are all global variable. This make one pig script know the variable in other scripts. In my opinion, this is not right. Every relation name in pig script should be local variable, otherwise it will bring in unexpected result.  This issue relates to PIG-1423
> E.g there are two pig script as follows:
> Test_1.pig
> {code}
> a = load 'data/b.txt' ;
> {code}
> Test_2.pig
> {code}
> b = foreach a generate $0;   // "a" is recognized by Grunt although it is in Test_1.pig
> {code}
> And the following execute normally, do not throw any exception
> {code}
> PigServer pig=new PigServer(ExecType.Local);
> pig.registerScript("Test_1.pig");
> pig.registerScript("Test_2.pig");
> {code}

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


[jira] Updated: (PIG-1464) Should clean the Graph when register another Pig Script

Posted by "Jeff Zhang (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/PIG-1464?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jeff Zhang updated PIG-1464:
----------------------------

    Status: Patch Available  (was: Open)

> Should clean the Graph when register another Pig Script
> -------------------------------------------------------
>
>                 Key: PIG-1464
>                 URL: https://issues.apache.org/jira/browse/PIG-1464
>             Project: Pig
>          Issue Type: Bug
>          Components: grunt
>    Affects Versions: 0.8.0
>            Reporter: Jeff Zhang
>            Assignee: Jeff Zhang
>             Fix For: 0.8.0
>
>         Attachments: PIG_1463.patch
>
>
> In the current implementation, the variable names in pig script are all global variable. This make one pig script know the variable in other scripts. In my opinion, this is not right. Every relation name in pig script should be local variable, otherwise it will bring in unexpected result.  This issue relates to PIG-1423
> E.g there are two pig script as follows:
> Test_1.pig
> {code}
> a = load 'data/b.txt' ;
> {code}
> Test_2.pig
> {code}
> b = foreach a generate $0;   // "a" is recognized by Grunt although it is in Test_1.pig
> {code}
> And the following execute normally, do not throw any exception
> {code}
> PigServer pig=new PigServer(ExecType.Local);
> pig.registerScript("Test_1.pig");
> pig.registerScript("Test_2.pig");
> {code}

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


[jira] Commented: (PIG-1464) Should clean the Graph when register another Pig Script

Posted by "Alan Gates (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/PIG-1464?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12882673#action_12882673 ] 

Alan Gates commented on PIG-1464:
---------------------------------

I agree this is weird from an interface viewpoint.  But I have a couple of concerns in changing it.  One, it isn't backward compatible.  After the mess we drug users through in 0.7 we're really trying not to change anything for 0.8.  The other concern is that it gives users a very hacky way to build Pig Latin modules and use them together.  We'd like to come up with a clean way to do this (see http://wiki.apache.org/pig/TuringCompletePig )  But until then I'm wondering if we should leave this there.

> Should clean the Graph when register another Pig Script
> -------------------------------------------------------
>
>                 Key: PIG-1464
>                 URL: https://issues.apache.org/jira/browse/PIG-1464
>             Project: Pig
>          Issue Type: Bug
>          Components: grunt
>    Affects Versions: 0.8.0
>            Reporter: Jeff Zhang
>            Assignee: Jeff Zhang
>             Fix For: 0.8.0
>
>         Attachments: PIG_1463.patch
>
>
> In the current implementation, the variable names in pig script are all global variable. This make one pig script know the variable in other scripts. In my opinion, this is not right. Every relation name in pig script should be local variable, otherwise it will bring in unexpected result.  This issue relates to PIG-1423
> E.g there are two pig script as follows:
> Test_1.pig
> {code}
> a = load 'data/b.txt' ;
> {code}
> Test_2.pig
> {code}
> b = foreach a generate $0;   // "a" is recognized by Grunt although it is in Test_1.pig
> {code}
> And the following execute normally, do not throw any exception
> {code}
> PigServer pig=new PigServer(ExecType.Local);
> pig.registerScript("Test_1.pig");
> pig.registerScript("Test_2.pig");
> {code}

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