Program: 87183
Project: 87183
Buggy source:
@Override public Node create(final Cluster cluster,final Ping ping){
  final UUID id=UUID.randomUUID();
  final List<String> tags=jdbc.queryForList("String_Node_Str" + "String_Node_Str",String.class,cluster.getClusterId());
  jdbc.update(new PreparedStatementCreator(){
    @Override public PreparedStatement createPreparedStatement(    final Connection conn) throws SQLException {
      final PreparedStatement ps=conn.prepareStatement(INSERT[0]);
      ps.setObject(1,id);
      ps.setObject(2,cluster.getClusterId());
      ps.setString(3,ping.hostname);
      ps.setString(4,ping.ipAddr);
      ps.setArray(5,conn.createArrayOf("String_Node_Str",tags.toArray()));
      return ps;
    }
  }
);
  jdbc.update(new PreparedStatementCreator(){
    @Override public PreparedStatement createPreparedStatement(    final Connection conn) throws SQLException {
      final PreparedStatement ps=conn.prepareStatement(INSERT[1]);
      ps.setObject(1,id);
      ps.setInt(2,ping.hw.physicalCpus);
      ps.setInt(3,ping.hw.logicalCpus);
      ps.setInt(4,ping.hw.totalRamMb);
      ps.setInt(5,ping.hw.freeRamMb);
      ps.setInt(6,ping.hw.totalSwapMb);
      ps.setInt(7,ping.hw.freeSwapMb);
      ps.setLong(8,ping.bootTime * 1000);
      ps.setString(9,ping.hw.cpuModel);
      ps.setString(10,ping.hw.platform);
      if (!PlowUtils.isValid(ping.hw.load)) {
        ps.setArray(11,conn.createArrayOf("String_Node_Str",new Float[]{0.0f,0.0f,0.0f}));
      }
 else {
        ps.setArray(11,conn.createArrayOf("String_Node_Str",ping.hw.load.toArray()));
      }
      return ps;
    }
  }
);
  final int memMb=getBookableMemory(ping.hw.totalRamMb);
  jdbc.update(INSERT[2],id,ping.hw.physicalCpus,ping.hw.physicalCpus,memMb,memMb);
  NodeE node=new NodeE();
  node.setNodeId(id);
  node.setClusterId(cluster.getClusterId());
  node.setName(ping.hostname);
  return node;
}

Fixed version (ground truth):
@Override public Node create(final Cluster cluster,final Ping ping){
  final UUID id=UUID.randomUUID();
  final List<String> tags=jdbc.queryForList("String_Node_Str" + "String_Node_Str",String.class,cluster.getClusterId());
  jdbc.update(new PreparedStatementCreator(){
    @Override public PreparedStatement createPreparedStatement(    final Connection conn) throws SQLException {
      final PreparedStatement ps=conn.prepareStatement(INSERT[0]);
      ps.setObject(1,id);
      ps.setObject(2,cluster.getClusterId());
      ps.setString(3,ping.hostname);
      ps.setString(4,ping.ipAddr);
      ps.setArray(5,conn.createArrayOf("String_Node_Str",tags.toArray()));
      return ps;
    }
  }
);
  jdbc.update(new PreparedStatementCreator(){
    @Override public PreparedStatement createPreparedStatement(    final Connection conn) throws SQLException {
      final PreparedStatement ps=conn.prepareStatement(INSERT[1]);
      ps.setObject(1,id);
      ps.setInt(2,ping.hw.physicalCpus);
      ps.setInt(3,ping.hw.logicalCpus);
      ps.setInt(4,ping.hw.totalRamMb);
      ps.setInt(5,ping.hw.freeRamMb);
      ps.setInt(6,ping.hw.totalSwapMb);
      ps.setInt(7,ping.hw.freeSwapMb);
      ps.setLong(8,ping.bootTime * 1000);
      ps.setString(9,ping.hw.cpuModel);
      ps.setString(10,ping.hw.platform);
      if (!PlowUtils.isValid(ping.hw.load)) {
        ps.setArray(11,conn.createArrayOf("String_Node_Str",new Float[]{0.0f,0.0f,0.0f}));
      }
 else {
        ps.setArray(11,conn.createArrayOf("String_Node_Str",ping.hw.load.toArray()));
      }
      return ps;
    }
  }
);
  final int memMb=ping.hw.totalRamMb - PlowUtils.getReservedRam(ping.hw.totalRamMb);
  jdbc.update(INSERT[2],id,ping.hw.physicalCpus,ping.hw.physicalCpus,memMb,memMb);
  NodeE node=new NodeE();
  node.setNodeId(id);
  node.setClusterId(cluster.getClusterId());
  node.setName(ping.hostname);
  return node;
}