Program: 4635
Project: 4635
Buggy source:
private WorkflowManager deployPipelineWithSchedule(String pipelineName,Engine engine,String triggeringPipelineName,ArgumentMapping key1Mapping,String expectedKey1Value,PluginPropertyMapping key2Mapping,String expectedKey2Value) throws Exception {
  String tableName="String_Node_Str" + pipelineName + engine;
  String sourceName="String_Node_Str" + pipelineName + engine;
  String sinkName="String_Node_Str" + pipelineName + engine;
  String key1=key1Mapping.getTarget();
  String key2=key2Mapping.getTarget();
  ETLBatchConfig etlConfig=ETLBatchConfig.builder("String_Node_Str").addStage(new ETLStage("String_Node_Str",MockAction.getPlugin(tableName,"String_Node_Str","String_Node_Str",String.format("String_Node_Str",key1)))).addStage(new ETLStage("String_Node_Str",MockAction.getPlugin(tableName,"String_Node_Str","String_Node_Str",String.format("String_Node_Str",key2)))).addStage(new ETLStage("String_Node_Str",MockSource.getPlugin(sourceName))).addStage(new ETLStage("String_Node_Str",StringValueFilterTransform.getPlugin("String_Node_Str",String.format("String_Node_Str",key1)))).addStage(new ETLStage("String_Node_Str",StringValueFilterTransform.getPlugin("String_Node_Str",String.format("String_Node_Str",key2)))).addStage(new ETLStage("String_Node_Str",MockSink.getPlugin(sinkName))).addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").setEngine(engine).build();
  AppRequest<ETLBatchConfig> appRequest=new AppRequest<>(APP_ARTIFACT,etlConfig);
  ApplicationId appId=NamespaceId.DEFAULT.app(pipelineName);
  ApplicationManager appManager=deployApplication(appId.toId(),appRequest);
  Schema schema=Schema.recordOf("String_Node_Str",Schema.Field.of("String_Node_Str",Schema.of(Schema.Type.STRING)));
  StructuredRecord recordSamuel=StructuredRecord.builder(schema).set("String_Node_Str","String_Node_Str").build();
  StructuredRecord recordKey1Value=StructuredRecord.builder(schema).set("String_Node_Str",expectedKey1Value).build();
  StructuredRecord recordKey2Value=StructuredRecord.builder(schema).set("String_Node_Str",expectedKey2Value).build();
  DataSetManager<Table> inputManager=getDataset(sourceName);
  MockSource.writeInput(inputManager,ImmutableList.of(recordSamuel,recordKey1Value,recordKey2Value));
  String defaultNamespace=NamespaceId.DEFAULT.getNamespace();
  TriggeringPropertyMapping propertyMapping=new TriggeringPropertyMapping(ImmutableList.of(key1Mapping),ImmutableList.of(key2Mapping));
  ProgramStatusTrigger completeTrigger=new ProgramStatusTrigger(new WorkflowId(defaultNamespace,triggeringPipelineName,SmartWorkflow.NAME),ImmutableSet.of(ProgramStatus.COMPLETED));
  ScheduleId scheduleId=appId.schedule("String_Node_Str");
  appManager.addSchedule(new ScheduleDetail(scheduleId.getNamespace(),scheduleId.getApplication(),scheduleId.getVersion(),scheduleId.getSchedule(),"String_Node_Str",new ScheduleProgramInfo(SchedulableProgramType.WORKFLOW,SmartWorkflow.NAME),ImmutableMap.of(SmartWorkflow.TRIGGERING_PROPERTIES_MAPPING,GSON.toJson(propertyMapping)),completeTrigger,ImmutableList.<Constraint>of(),Schedulers.JOB_QUEUE_TIMEOUT_MILLIS,null));
  appManager.enableSchedule(scheduleId);
  WorkflowManager manager=appManager.getWorkflowManager(SmartWorkflow.NAME);
  return manager;
}

Fixed version (ground truth):
private WorkflowManager deployPipelineWithSchedule(String pipelineName,Engine engine,String triggeringPipelineName,ArgumentMapping key1Mapping,String expectedKey1Value,PluginPropertyMapping key2Mapping,String expectedKey2Value) throws Exception {
  String tableName="String_Node_Str" + pipelineName + engine;
  String sourceName="String_Node_Str" + pipelineName + engine;
  String sinkName="String_Node_Str" + pipelineName + engine;
  String key1=key1Mapping.getTarget();
  String key2=key2Mapping.getTarget();
  ETLBatchConfig etlConfig=ETLBatchConfig.builder("String_Node_Str").addStage(new ETLStage("String_Node_Str",MockAction.getPlugin(tableName,"String_Node_Str","String_Node_Str",String.format("String_Node_Str",key1)))).addStage(new ETLStage("String_Node_Str",MockAction.getPlugin(tableName,"String_Node_Str","String_Node_Str",String.format("String_Node_Str",key2)))).addStage(new ETLStage("String_Node_Str",MockSource.getPlugin(sourceName))).addStage(new ETLStage("String_Node_Str",StringValueFilterTransform.getPlugin("String_Node_Str",String.format("String_Node_Str",key1)))).addStage(new ETLStage("String_Node_Str",StringValueFilterTransform.getPlugin("String_Node_Str",String.format("String_Node_Str",key2)))).addStage(new ETLStage("String_Node_Str",MockSink.getPlugin(sinkName))).addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").setEngine(engine).build();
  AppRequest<ETLBatchConfig> appRequest=new AppRequest<>(APP_ARTIFACT,etlConfig);
  ApplicationId appId=NamespaceId.DEFAULT.app(pipelineName);
  ApplicationManager appManager=deployApplication(appId.toId(),appRequest);
  Schema schema=Schema.recordOf("String_Node_Str",Schema.Field.of("String_Node_Str",Schema.of(Schema.Type.STRING)));
  StructuredRecord recordSamuel=StructuredRecord.builder(schema).set("String_Node_Str","String_Node_Str").build();
  StructuredRecord recordKey1Value=StructuredRecord.builder(schema).set("String_Node_Str",expectedKey1Value).build();
  StructuredRecord recordKey2Value=StructuredRecord.builder(schema).set("String_Node_Str",expectedKey2Value).build();
  DataSetManager<Table> inputManager=getDataset(sourceName);
  MockSource.writeInput(inputManager,ImmutableList.of(recordSamuel,recordKey1Value,recordKey2Value));
  String defaultNamespace=NamespaceId.DEFAULT.getNamespace();
  TriggeringPropertyMapping propertyMapping=new TriggeringPropertyMapping(ImmutableList.of(key1Mapping),ImmutableList.of(key2Mapping));
  ProgramStatusTrigger completeTrigger=new ProgramStatusTrigger(new WorkflowId(defaultNamespace,triggeringPipelineName,SmartWorkflow.NAME),ImmutableSet.of(ProgramStatus.COMPLETED));
  ScheduleId scheduleId=appId.schedule("String_Node_Str");
  appManager.addSchedule(new ScheduleDetail(scheduleId.getNamespace(),scheduleId.getApplication(),scheduleId.getVersion(),scheduleId.getSchedule(),"String_Node_Str",new ScheduleProgramInfo(SchedulableProgramType.WORKFLOW,SmartWorkflow.NAME),ImmutableMap.of(SmartWorkflow.TRIGGERING_PROPERTIES_MAPPING,GSON.toJson(propertyMapping)),completeTrigger,ImmutableList.<Constraint>of(),Schedulers.JOB_QUEUE_TIMEOUT_MILLIS,null));
  appManager.enableSchedule(scheduleId);
  return appManager.getWorkflowManager(SmartWorkflow.NAME);
}