Program: 6250
Project: 6250
Buggy source:
@Test public void testMultiSource() throws Exception {
  ETLBatchConfig etlConfig=ETLBatchConfig.builder("String_Node_Str").addStage(new ETLStage("String_Node_Str",MockSource.getPlugin("String_Node_Str"))).addStage(new ETLStage("String_Node_Str",MockSource.getPlugin("String_Node_Str"))).addStage(new ETLStage("String_Node_Str",MockSource.getPlugin("String_Node_Str"))).addStage(new ETLStage("String_Node_Str",IdentityTransform.getPlugin())).addStage(new ETLStage("String_Node_Str",IdentityTransform.getPlugin())).addStage(new ETLStage("String_Node_Str",MockSink.getPlugin("String_Node_Str"))).addStage(new ETLStage("String_Node_Str",MockSink.getPlugin("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").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").build();
  AppRequest<ETLBatchConfig> appRequest=new AppRequest<>(ETLBATCH_ARTIFACT,etlConfig);
  Id.Application appId=Id.Application.from(Id.Namespace.DEFAULT,"String_Node_Str");
  ApplicationManager appManager=deployApplication(appId,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 recordBob=StructuredRecord.builder(schema).set("String_Node_Str","String_Node_Str").build();
  StructuredRecord recordJane=StructuredRecord.builder(schema).set("String_Node_Str","String_Node_Str").build();
  DataSetManager<Table> inputManager=getDataset(Id.Namespace.DEFAULT,"String_Node_Str");
  MockSource.writeInput(inputManager,ImmutableList.of(recordSamuel));
  inputManager=getDataset(Id.Namespace.DEFAULT,"String_Node_Str");
  MockSource.writeInput(inputManager,ImmutableList.of(recordBob));
  inputManager=getDataset(Id.Namespace.DEFAULT,"String_Node_Str");
  MockSource.writeInput(inputManager,ImmutableList.of(recordJane));
  WorkflowManager workflowManager=appManager.getWorkflowManager(SmartWorkflow.NAME);
  workflowManager.start();
  workflowManager.waitForFinish(5,TimeUnit.MINUTES);
  DataSetManager<Table> sinkManager=getDataset("String_Node_Str");
  Set<StructuredRecord> expected=ImmutableSet.of(recordSamuel,recordBob);
  Set<StructuredRecord> actual=Sets.newHashSet(MockSink.readOutput(sinkManager));
  Assert.assertEquals(expected,actual);
  sinkManager=getDataset("String_Node_Str");
  expected=ImmutableSet.of(recordSamuel,recordBob,recordJane);
  actual=Sets.newHashSet(MockSink.readOutput(sinkManager));
  Assert.assertEquals(expected,actual);
}

Fixed version (ground truth):
@Test public void testMultiSource() throws Exception {
  ETLBatchConfig etlConfig=ETLBatchConfig.builder("String_Node_Str").addStage(new ETLStage("String_Node_Str",MockSource.getPlugin("String_Node_Str"))).addStage(new ETLStage("String_Node_Str",MockSource.getPlugin("String_Node_Str"))).addStage(new ETLStage("String_Node_Str",MockSource.getPlugin("String_Node_Str"))).addStage(new ETLStage("String_Node_Str",IdentityTransform.getPlugin())).addStage(new ETLStage("String_Node_Str",IdentityTransform.getPlugin())).addStage(new ETLStage("String_Node_Str",MockSink.getPlugin("String_Node_Str"))).addStage(new ETLStage("String_Node_Str",MockSink.getPlugin("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").addConnection("String_Node_Str","String_Node_Str").addConnection("String_Node_Str","String_Node_Str").build();
  AppRequest<ETLBatchConfig> appRequest=new AppRequest<>(ARTIFACT,etlConfig);
  Id.Application appId=Id.Application.from(Id.Namespace.DEFAULT,"String_Node_Str");
  ApplicationManager appManager=deployApplication(appId,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 recordBob=StructuredRecord.builder(schema).set("String_Node_Str","String_Node_Str").build();
  StructuredRecord recordJane=StructuredRecord.builder(schema).set("String_Node_Str","String_Node_Str").build();
  DataSetManager<Table> inputManager=getDataset(Id.Namespace.DEFAULT,"String_Node_Str");
  MockSource.writeInput(inputManager,ImmutableList.of(recordSamuel));
  inputManager=getDataset(Id.Namespace.DEFAULT,"String_Node_Str");
  MockSource.writeInput(inputManager,ImmutableList.of(recordBob));
  inputManager=getDataset(Id.Namespace.DEFAULT,"String_Node_Str");
  MockSource.writeInput(inputManager,ImmutableList.of(recordJane));
  WorkflowManager workflowManager=appManager.getWorkflowManager(SmartWorkflow.NAME);
  workflowManager.start();
  workflowManager.waitForFinish(5,TimeUnit.MINUTES);
  DataSetManager<Table> sinkManager=getDataset("String_Node_Str");
  Set<StructuredRecord> expected=ImmutableSet.of(recordSamuel,recordBob);
  Set<StructuredRecord> actual=Sets.newHashSet(MockSink.readOutput(sinkManager));
  Assert.assertEquals(expected,actual);
  sinkManager=getDataset("String_Node_Str");
  expected=ImmutableSet.of(recordSamuel,recordBob,recordJane);
  actual=Sets.newHashSet(MockSink.readOutput(sinkManager));
  Assert.assertEquals(expected,actual);
}