Program: 5903
Project: 5903
Buggy source:
@Test public void testTransformCompute() throws Exception {
  Schema schema=Schema.recordOf("String_Node_Str",Schema.Field.of("String_Node_Str",Schema.of(Schema.Type.STRING)),Schema.Field.of("String_Node_Str",Schema.of(Schema.Type.STRING)));
  List<StructuredRecord> input=new ArrayList<>();
  StructuredRecord samuelRecord=StructuredRecord.builder(schema).set("String_Node_Str","String_Node_Str").set("String_Node_Str","String_Node_Str").build();
  StructuredRecord jacksonRecord=StructuredRecord.builder(schema).set("String_Node_Str","String_Node_Str").set("String_Node_Str","String_Node_Str").build();
  StructuredRecord dwayneRecord=StructuredRecord.builder(schema).set("String_Node_Str","String_Node_Str").set("String_Node_Str","String_Node_Str").build();
  StructuredRecord johnsonRecord=StructuredRecord.builder(schema).set("String_Node_Str","String_Node_Str").set("String_Node_Str","String_Node_Str").build();
  input.add(samuelRecord);
  input.add(jacksonRecord);
  input.add(dwayneRecord);
  input.add(johnsonRecord);
  DataStreamsConfig etlConfig=DataStreamsConfig.builder().addStage(new ETLStage("String_Node_Str",MockSource.getPlugin(schema,input))).addStage(new ETLStage("String_Node_Str",MockSink.getPlugin("String_Node_Str"))).addStage(new ETLStage("String_Node_Str",StringValueFilterTransform.getPlugin("String_Node_Str","String_Node_Str"))).addStage(new ETLStage("String_Node_Str",StringValueFilterCompute.getPlugin("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").setBatchInterval("String_Node_Str").build();
  Id.Application appId=Id.Application.from(Id.Namespace.DEFAULT,"String_Node_Str");
  AppRequest<DataStreamsConfig> appRequest=new AppRequest<>(APP_ARTIFACT,etlConfig);
  ApplicationManager appManager=deployApplication(appId,appRequest);
  SparkManager sparkManager=appManager.getSparkManager(DataStreamsSparkLauncher.NAME);
  sparkManager.start();
  sparkManager.waitForStatus(true,10,1);
  final DataSetManager<Table> outputManager=getDataset("String_Node_Str");
  final Set<StructuredRecord> expected=new HashSet<>();
  expected.add(samuelRecord);
  expected.add(johnsonRecord);
  Tasks.waitFor(true,new Callable<Boolean>(){
    @Override public Boolean call() throws Exception {
      outputManager.flush();
      Set<StructuredRecord> outputRecords=new HashSet<>();
      outputRecords.addAll(MockSink.readOutput(outputManager));
      return expected.equals(outputRecords);
    }
  }
,1,TimeUnit.MINUTES);
  sparkManager.stop();
  sparkManager.waitForStatus(false,10,1);
}

Fixed version (ground truth):
@Test public void testTransformCompute() throws Exception {
  Schema schema=Schema.recordOf("String_Node_Str",Schema.Field.of("String_Node_Str",Schema.of(Schema.Type.STRING)),Schema.Field.of("String_Node_Str",Schema.of(Schema.Type.STRING)));
  List<StructuredRecord> input=new ArrayList<>();
  StructuredRecord samuelRecord=StructuredRecord.builder(schema).set("String_Node_Str","String_Node_Str").set("String_Node_Str","String_Node_Str").build();
  StructuredRecord jacksonRecord=StructuredRecord.builder(schema).set("String_Node_Str","String_Node_Str").set("String_Node_Str","String_Node_Str").build();
  StructuredRecord dwayneRecord=StructuredRecord.builder(schema).set("String_Node_Str","String_Node_Str").set("String_Node_Str","String_Node_Str").build();
  StructuredRecord johnsonRecord=StructuredRecord.builder(schema).set("String_Node_Str","String_Node_Str").set("String_Node_Str","String_Node_Str").build();
  input.add(samuelRecord);
  input.add(jacksonRecord);
  input.add(dwayneRecord);
  input.add(johnsonRecord);
  DataStreamsConfig etlConfig=DataStreamsConfig.builder().addStage(new ETLStage("String_Node_Str",MockSource.getPlugin(schema,input))).addStage(new ETLStage("String_Node_Str",MockSink.getPlugin("String_Node_Str"))).addStage(new ETLStage("String_Node_Str",StringValueFilterTransform.getPlugin("String_Node_Str","String_Node_Str"))).addStage(new ETLStage("String_Node_Str",StringValueFilterCompute.getPlugin("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").setBatchInterval("String_Node_Str").build();
  Id.Application appId=Id.Application.from(Id.Namespace.DEFAULT,"String_Node_Str");
  AppRequest<DataStreamsConfig> appRequest=new AppRequest<>(APP_ARTIFACT,etlConfig);
  ApplicationManager appManager=deployApplication(appId,appRequest);
  SparkManager sparkManager=appManager.getSparkManager(DataStreamsSparkLauncher.NAME);
  sparkManager.start();
  sparkManager.waitForStatus(true,10,1);
  final DataSetManager<Table> outputManager=getDataset("String_Node_Str");
  final Set<StructuredRecord> expected=new HashSet<>();
  expected.add(samuelRecord);
  expected.add(johnsonRecord);
  Tasks.waitFor(true,new Callable<Boolean>(){
    @Override public Boolean call() throws Exception {
      outputManager.flush();
      Set<StructuredRecord> outputRecords=new HashSet<>();
      outputRecords.addAll(MockSink.readOutput(outputManager));
      return expected.equals(outputRecords);
    }
  }
,1,TimeUnit.MINUTES);
  sparkManager.stop();
  sparkManager.waitForStatus(false,10,1);
  validateMetric(appId,"String_Node_Str",4);
  validateMetric(appId,"String_Node_Str",4);
  validateMetric(appId,"String_Node_Str",3);
  validateMetric(appId,"String_Node_Str",3);
  validateMetric(appId,"String_Node_Str",2);
  validateMetric(appId,"String_Node_Str",2);
}