[ https://issues.apache.org/jira/browse/PIG-1336?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Dai updated PIG-1336: ---------------------------- Description: We serialize POStore too early in the JobControlCompiler. At that time, storeFunc have unconstraint link to other operator; in the worst case, it will chain the whole physical plan. Also, in multi-store case, POStore has link to its data source, which is not needed and will increase the footprint of serialized POStore. Worse, it may cause problem if we do not optimize POStore. If we have two map-reduce job, the first job need a LoadFunc from an external jar. The first job will ship the jar to backend but the second job will not. However, since POStore of second job has a link chain to the LoadFunc of the first job, to deserialize it, we need that external jar. Since we do not ship the external jar for the second map-reduce job, we die in this case. So it is more than an optimization, it is also a bug fix. was:We serialize POStore too early in the JobControlCompiler. At that time, storeFunc have unconstraint link to other operator; in the worst case, it will chain the whole physical plan. Also, in multi-store case, POStore has link to its data source, which is not needed and will increase the footprint of serialized POStore. > Optimize POStore serialized into JobConf > ---------------------------------------- > > Key: PIG-1336 > URL: https://issues.apache.org/jira/browse/PIG-1336 > Project: Pig > Issue Type: Improvement > Components: impl > Affects Versions: 0.7.0 > Reporter: Daniel Dai > Assignee: Daniel Dai > Fix For: 0.7.0 > > Attachments: PIG-1336-1.patch, PIG-1336-2.patch, PIG-1336-3.patch, > PIG-1336-4.patch > > > We serialize POStore too early in the JobControlCompiler. At that time, > storeFunc have unconstraint link to other operator; in the worst case, it > will chain the whole physical plan. Also, in multi-store case, POStore has > link to its data source, which is not needed and will increase the footprint > of serialized POStore. > Worse, it may cause problem if we do not optimize POStore. If we have two > map-reduce job, the first job need a LoadFunc from an external jar. The first > job will ship the jar to backend but the second job will not. However, since > POStore of second job has a link chain to the LoadFunc of the first job, to > deserialize it, we need that external jar. Since we do not ship the external > jar for the second map-reduce job, we die in this case. So it is more than an > optimization, it is also a bug fix. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira