This is the pig script - %default previousPeriod $pPeriod
tWeek = LOAD '/tmp/test_data.txt' USING PigStorage ('|') AS (WEEK:int, DESCRIPTION:chararray, END_DATE:chararray, PERIOD:int); gTWeek = FOREACH tWeek GENERATE WEEK AS WEEK, PERIOD AS PERIOD; *pWeek = FILTER gTWeek BY PERIOD == $previousPeriod;* pWeekRanked = RANK pWeek BY WEEK ASC DENSE; gpWeekRanked = FOREACH pWeekRanked GENERATE $0; store gpWeekRanked INTO 'gpWeekRanked'; describe gpWeekRanked; Without the filter statement, the code runs without hanging. Cheers, Suhas. On Thu, Mar 6, 2014 at 3:05 PM, Suhas Satish <suhas.sat...@gmail.com> wrote: > Hi > I launched the attached pig job on pig-12 with hadoop MRv1 with the > attached data, but the FILTER function causes the job to get stuck in an > infinite loop. > > pig -p pPeriod=201312 -f test.pig > > The thread in question seems to be stuck forever inside while loop of > runPipeline method. > > stack trace: > ----------- > > "main" prio=10 tid=0x00007fd74800b000 nid=0x2f63 runnable > [0x00007fd750d50000] > java.lang.Thread.State: RUNNABLE > at > org.apache.pig.backend.hadoop.executionengine.physicalLayer. > relationalOperators.POForEach.getNextTuple(POForEach.java:217) > at > org.apache.pig.backend.hadoop.executionengine.mapReduceLayer. > PigGenericMapBase.runPipeline(PigGenericMapBase.java:282) > at > org.apache.pig.backend.hadoop.executionengine.mapReduceLayer. > PigGenericMapBase.map(PigGenericMapBase.java:277) > at > org.apache.pig.backend.hadoop.executionengine.mapReduceLayer. > PigGenericMapBase.map(PigGenericMapBase.java:64) > at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144) > at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:680) > at org.apache.hadoop.mapred.MapTask.run(MapTask.java:346) > at org.apache.hadoop.mapred.Child$4.run(Child.java:282) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:415) > at > org.apache.hadoop.security.UserGroupInformation.doAs( > UserGroupInformation.java:1117) > at org.apache.hadoop.mapred.Child.main(Child.java:271) > > > > > org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/ > PigGenericMapBase.java: > > protected void *runPipeline*(PhysicalOperator leaf) throws IOException, > InterruptedException { > while(true){ > Result res = leaf.getNext(DUMMYTUPLE); > if(res.returnStatus==POStatus.STATUS_OK){ > collect(outputCollector,(Tuple)res.result); > continue; > } > .... > > > > Whats the suggested code fix here? > > > Thanks, > Suhas. >