PIG-2659_c.patch
makes the field not transient anymore so that it will be accessible in the backend. this is necessary as PigStats deserializes the plan from the job conf.
TestMRCompiler's golden files had to be updated accordingly when it should not have.
I opened a JIRA for this (PIG-2698)

Julien Le Dem
added a comment - 12/May/12 05:22 PIG-2659 _c.patch
makes the field not transient anymore so that it will be accessible in the backend. this is necessary as PigStats deserializes the plan from the job conf.
TestMRCompiler's golden files had to be updated accordingly when it should not have.
I opened a JIRA for this ( PIG-2698 )

Hi Daniel,
Yes my original motivation was to use this in the visualizer.
Note that I made the location transient for now because some tests are comparing serialized physical plans to a saved binary versions, which is very brittle and not precise enough. I.E.: it fails whatever you changed to the physical plan serialized representation.

explanation of the data
M: A[1,4],A[3,4],B[2,4] C: A[3,4],B[2,4] R: A[3,4]
M: Mapper plan contains the following aliases
C: Combiner plan contains the following aliases
R: reduce plane contains the following aliases
each item is:
alias[line,offset]
This could also be split in 3 different properties:
pig.alias.location.mapper: A[1,4],A[3,4],B[2,4]
pig.alias.location.combiner: A[3,4],B[2,4]
pig.alias.location.reducer: A[3,4]

Yes, we should also make sure merged operators info is maintained.

I will take care of the white spaces.

There is a test here:
test/org/apache/pig/newplan/logical/relational/TestLocationInPhysicalPlan.java

Julien Le Dem
added a comment - 08/May/12 23:46 Hi Daniel,
Yes my original motivation was to use this in the visualizer.
Note that I made the location transient for now because some tests are comparing serialized physical plans to a saved binary versions, which is very brittle and not precise enough. I.E.: it fails whatever you changed to the physical plan serialized representation.
explanation of the data
M: A [1,4] ,A [3,4] ,B [2,4] C: A [3,4] ,B [2,4] R: A [3,4]
M: Mapper plan contains the following aliases
C: Combiner plan contains the following aliases
R: reduce plane contains the following aliases
each item is:
alias [line,offset]
This could also be split in 3 different properties:
pig.alias.location.mapper: A [1,4] ,A [3,4] ,B [2,4]
pig.alias.location.combiner: A [3,4] ,B [2,4]
pig.alias.location.reducer: A [3,4]
Yes, we should also make sure merged operators info is maintained.
I will take care of the white spaces.
There is a test here:
test/org/apache/pig/newplan/logical/relational/TestLocationInPhysicalPlan.java

1. Include line number for most backend exceptions
2. Include line number in explain
3. Include line number in stats
4. Use line number to generate job name
5. Make use of location in visualizer (PIG-2659)

Daniel Dai
added a comment - 08/May/12 19:33 That's awesome, with this, we can do:
1. Include line number for most backend exceptions
2. Include line number in explain
3. Include line number in stats
4. Use line number to generate job name
5. Make use of location in visualizer ( PIG-2659 )
Can you elaborate what "M: A [1,4] ,A [3,4] ,B [2,4] C: A [3,4] ,B [2,4] R: A [3,4] " means?
If we merge operators, we shall annotate how this operator come from, this can be done later.
Also be sure to remove white space changes when you checkin (svn diff -x --ignore-all-space).
Can you also add some tests?