Program: 117516
Project: 117516
Buggy source:
@Override public PigStats launchPig(PhysicalPlan physicalPlan,String grpName,PigContext pigContext) throws Exception {
  LOG.info("String_Node_Str");
  LOG.debug(physicalPlan);
  Configuration c=SparkUtil.newJobConf(pigContext);
  c.set(PigConstants.LOCAL_CODE_DIR,System.getProperty("String_Node_Str"));
  SchemaTupleBackend.initialize(c,pigContext);
  MRCompiler mrCompiler=new MRCompiler(physicalPlan,pigContext);
  mrCompiler.compile();
  MROperPlan plan=mrCompiler.getMRPlan();
  POPackageAnnotator pkgAnnotator=new POPackageAnnotator(plan);
  pkgAnnotator.visit();
  startSparkIfNeeded();
  Map<Class<? extends PhysicalOperator>,POConverter> convertMap=new HashMap<Class<? extends PhysicalOperator>,POConverter>();
  convertMap.put(POLoad.class,new LoadConverter(pigContext,physicalPlan,sparkContext));
  convertMap.put(POStore.class,new StoreConverter(pigContext));
  convertMap.put(POForEach.class,new ForEachConverter());
  convertMap.put(POFilter.class,new FilterConverter());
  convertMap.put(POPackage.class,new PackageConverter());
  convertMap.put(POCache.class,cacheConverter);
  convertMap.put(POLocalRearrange.class,new LocalRearrangeConverter());
  convertMap.put(POGlobalRearrange.class,new GlobalRearrangeConverter());
  convertMap.put(POLimit.class,new LimitConverter());
  convertMap.put(PODistinct.class,new DistinctConverter());
  convertMap.put(POUnion.class,new UnionConverter(sparkContext));
  convertMap.put(POSort.class,new SortConverter());
  convertMap.put(POSplit.class,new SplitConverter());
  Map<OperatorKey,RDD<Tuple>> rdds=new HashMap<OperatorKey,RDD<Tuple>>();
  SparkStats stats=new SparkStats();
  LinkedList<POStore> stores=PlanHelper.getPhysicalOperators(physicalPlan,POStore.class);
  for (  POStore poStore : stores) {
    physicalToRDD(physicalPlan,poStore,rdds,convertMap);
    stats.addOutputInfo(poStore,1,1,true,c);
  }
  return stats;
}

Fixed version (ground truth):
@Override public PigStats launchPig(PhysicalPlan physicalPlan,String grpName,PigContext pigContext) throws Exception {
  LOG.info("String_Node_Str");
  LOG.debug(physicalPlan);
  Configuration c=SparkUtil.newJobConf(pigContext);
  c.set(PigConstants.LOCAL_CODE_DIR,System.getProperty("String_Node_Str"));
  SchemaTupleBackend.initialize(c,pigContext);
  MRCompiler mrCompiler=new MRCompiler(physicalPlan,pigContext);
  mrCompiler.compile();
  MROperPlan plan=mrCompiler.getMRPlan();
  POPackageAnnotator pkgAnnotator=new POPackageAnnotator(plan);
  pkgAnnotator.visit();
  if (System.getenv("String_Node_Str").length() == 0 || System.getenv("String_Node_Str").length() == 0) {
    System.out.println("String_Node_Str");
    LOG.error("String_Node_Str");
    System.exit(1);
  }
  bcaster=new BroadCastServer();
  bcaster.startBroadcastServer(Integer.parseInt(System.getenv("String_Node_Str")));
  bcaster.addResource("String_Node_Str",PigStorage.required_fields);
  startSparkIfNeeded();
  Map<Class<? extends PhysicalOperator>,POConverter> convertMap=new HashMap<Class<? extends PhysicalOperator>,POConverter>();
  convertMap.put(POLoad.class,new LoadConverter(pigContext,physicalPlan,sparkContext));
  convertMap.put(POStore.class,new StoreConverter(pigContext));
  convertMap.put(POForEach.class,new ForEachConverter());
  convertMap.put(POFilter.class,new FilterConverter());
  convertMap.put(POPackage.class,new PackageConverter());
  convertMap.put(POCache.class,cacheConverter);
  convertMap.put(POLocalRearrange.class,new LocalRearrangeConverter());
  convertMap.put(POGlobalRearrange.class,new GlobalRearrangeConverter());
  convertMap.put(POLimit.class,new LimitConverter());
  convertMap.put(PODistinct.class,new DistinctConverter());
  convertMap.put(POUnion.class,new UnionConverter(sparkContext));
  convertMap.put(POSort.class,new SortConverter());
  convertMap.put(POSplit.class,new SplitConverter());
  Map<OperatorKey,RDD<Tuple>> rdds=new HashMap<OperatorKey,RDD<Tuple>>();
  SparkStats stats=new SparkStats();
  LinkedList<POStore> stores=PlanHelper.getPhysicalOperators(physicalPlan,POStore.class);
  for (  POStore poStore : stores) {
    physicalToRDD(physicalPlan,poStore,rdds,convertMap);
    stats.addOutputInfo(poStore,1,1,true,c);
  }
  return stats;
}