Uploaded image for project: 'Pig'
  1. Pig
  2. PIG-3144

Erroneous map entry alias resolution leading to "Duplicate schema alias" errors

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.11, 0.10.1
    • 0.12.0, 0.11.1
    • None
    • None

    Description

      The following code illustrates a problem concerning alias resolution in pig

      The schema of D2 will incorrectly be described as containing two "age" fields. And the last step in the following script will lead to a "Duplicate schema alias" error message.

      I only encountered this bug when using aliases for map fields.

      DATA = LOAD 'file:///whatever' as (a:map[chararray], b:chararray);
      
      D1 = FOREACH DATA GENERATE a#'name' as name, a#'age' as age, b;
      
      D2 = FOREACH D1 GENERATE name, age, b;
      
      DESCRIBE D2;
      
      

      Output:

      D2: {
          age: chararray,
          age: chararray,
          b: chararray
      }
      
      D3 = FOREACH D2 GENERATE *;
      
      DESCRIBE D3;
      

      Output:

      <file file:///.../pig-bug-example.pig, line 20, column 16> Duplicate schema alias: age
      

      This error occurs in this form in Apache Pig version 0.11.0-SNAPSHOT (r6408). A less severe variant of this bug is also present in pig 0.10.1. In 0.10.1, the "Duplicate schema alias" error message won't occur, but the schema of D2 (see above) will still have wrong duplicate alias entries.

      Attachments

        1. PIG-3144-1-branch-0.11.patch
          8 kB
          Cheolsoo Park
        2. PIG-3144-1.patch
          8 kB
          Jonathan Coveney
        3. PIG-3144-0.patch
          8 kB
          Jonathan Coveney

        Issue Links

          Activity

            People

              jcoveney Jonathan Coveney
              kadeng Kai Londenberg
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: