Program: 28717
Project: 28717
Buggy source:
@Test public void testPatternPartitionQuery8() throws InterruptedException {
  log.info("String_Node_Str");
  SiddhiManager siddhiManager=new SiddhiManager();
  String streams="String_Node_Str" + "String_Node_Str";
  String partitionStart="String_Node_Str";
  String query="String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str";
  String partitionEnd="String_Node_Str";
  SiddhiAppRuntime siddhiAppRuntime=siddhiManager.createSiddhiAppRuntime(streams + partitionStart + query+ partitionEnd);
  siddhiAppRuntime.addCallback("String_Node_Str",new StreamCallback(){
    @Override public void receive(    Event[] events){
      EventPrinter.print(events);
      for (      Event event : events) {
        if (event.isExpired()) {
          removeEventCount.incrementAndGet();
        }
 else {
          inEventCount.incrementAndGet();
switch (inEventCount.get()) {
case 1:
            AssertJUnit.assertArrayEquals(new Object[]{55.6f},event.getData());
          break;
case 2:
        AssertJUnit.assertArrayEquals(new Object[]{57.6f},event.getData());
      break;
default :
    AssertJUnit.assertSame(2,inEventCount.get());
}
}
eventArrived=true;
}
}
}
);
InputHandler stream1=siddhiAppRuntime.getInputHandler("String_Node_Str");
siddhiAppRuntime.start();
stream1.send(new Object[]{"String_Node_Str",55.6f,100});
Thread.sleep(100);
stream1.send(new Object[]{"String_Node_Str",57.6f,100});
SiddhiTestHelper.waitForEvents(100,2,inEventCount,60000);
AssertJUnit.assertEquals("String_Node_Str",2,inEventCount.get());
AssertJUnit.assertEquals("String_Node_Str",0,removeEventCount.get());
AssertJUnit.assertEquals("String_Node_Str",true,eventArrived);
siddhiAppRuntime.shutdown();
}

Fixed version (ground truth):
@Test public void testPatternPartitionQuery8() throws InterruptedException {
  log.info("String_Node_Str");
  SiddhiManager siddhiManager=new SiddhiManager();
  String streams="String_Node_Str" + "String_Node_Str" + "String_Node_Str";
  String partitionStart="String_Node_Str";
  String query="String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str";
  String partitionEnd="String_Node_Str";
  SiddhiAppRuntime siddhiAppRuntime=siddhiManager.createSiddhiAppRuntime(streams + partitionStart + query+ partitionEnd);
  siddhiAppRuntime.addCallback("String_Node_Str",new StreamCallback(){
    @Override public void receive(    Event[] events){
      EventPrinter.print(events);
      for (      Event event : events) {
        if (event.isExpired()) {
          removeEventCount.incrementAndGet();
        }
 else {
          inEventCount.incrementAndGet();
switch (inEventCount.get()) {
case 1:
            AssertJUnit.assertArrayEquals(new Object[]{55.6f},event.getData());
          break;
case 2:
        AssertJUnit.assertArrayEquals(new Object[]{57.6f},event.getData());
      break;
default :
    AssertJUnit.assertSame(2,inEventCount.get());
}
}
eventArrived=true;
}
}
}
);
InputHandler stream1=siddhiAppRuntime.getInputHandler("String_Node_Str");
siddhiAppRuntime.start();
stream1.send(new Object[]{"String_Node_Str",55.6f,100});
Thread.sleep(100);
stream1.send(new Object[]{"String_Node_Str",57.6f,100});
SiddhiTestHelper.waitForEvents(100,2,inEventCount,60000);
AssertJUnit.assertEquals("String_Node_Str",2,inEventCount.get());
AssertJUnit.assertEquals("String_Node_Str",0,removeEventCount.get());
AssertJUnit.assertEquals("String_Node_Str",true,eventArrived);
siddhiAppRuntime.shutdown();
}