Program: 82441
Project: 82441
Buggy source:
@Override public void createTable(TableDescriptor tableDescriptor){
  long s=System.nanoTime();
  try {
    checkIfOpen();
    if (tableDescriptor.getSimilarityClass() == null) {
      tableDescriptor.setSimilarityClass(FairSimilarity.class.getName());
    }
    String table=BlurUtil.nullCheck(tableDescriptor.name,"String_Node_Str");
    String cluster=BlurUtil.nullCheck(tableDescriptor.cluster,"String_Node_Str");
    assignTableUri(tableDescriptor);
    String uri=BlurUtil.nullCheck(tableDescriptor.tableUri,"String_Node_Str");
    int shardCount=BlurUtil.zeroCheck(tableDescriptor.shardCount,"String_Node_Str");
    Similarity similarity=BlurUtil.getInstance(tableDescriptor.similarityClass,Similarity.class);
    boolean blockCaching=tableDescriptor.blockCaching;
    Set<String> blockCachingFileTypes=tableDescriptor.blockCachingFileTypes;
    String blurTablePath=ZookeeperPathConstants.getTablePath(cluster,table);
    if (_zk.exists(blurTablePath,false) != null) {
      throw new IOException("String_Node_Str" + table + "String_Node_Str");
    }
    BlurUtil.setupFileSystem(uri,shardCount);
    BlurUtil.createPath(_zk,blurTablePath,null);
    BlurUtil.createPath(_zk,ZookeeperPathConstants.getTableColumnsToPreCache(cluster,table),toBytes(tableDescriptor.preCacheCols));
    BlurUtil.createPath(_zk,ZookeeperPathConstants.getTableUriPath(cluster,table),uri.getBytes());
    BlurUtil.createPath(_zk,ZookeeperPathConstants.getTableShardCountPath(cluster,table),Integer.toString(shardCount).getBytes());
    BlurUtil.createPath(_zk,ZookeeperPathConstants.getTableSimilarityPath(cluster,table),similarity.getClass().getName().getBytes());
    BlurUtil.createPath(_zk,ZookeeperPathConstants.getLockPath(cluster,table),null);
    BlurUtil.createPath(_zk,ZookeeperPathConstants.getTableFieldNamesPath(cluster,table),null);
    if (tableDescriptor.readOnly) {
      BlurUtil.createPath(_zk,ZookeeperPathConstants.getTableReadOnlyPath(cluster,table),null);
    }
    if (blockCaching) {
      BlurUtil.createPath(_zk,ZookeeperPathConstants.getTableBlockCachingPath(cluster,table),null);
    }
    BlurUtil.createPath(_zk,ZookeeperPathConstants.getTableBlockCachingFileTypesPath(cluster,table),toBytes(blockCachingFileTypes));
  }
 catch (  IOException e) {
    throw new RuntimeException(e);
  }
catch (  KeeperException e) {
    throw new RuntimeException(e);
  }
catch (  InterruptedException e) {
    throw new RuntimeException(e);
  }
 finally {
    long e=System.nanoTime();
    LOG.debug("String_Node_Str" + (e - s) / 1000000.0 + "String_Node_Str");
  }
}

Fixed version (ground truth):
@Override public void createTable(TableDescriptor tableDescriptor){
  long s=System.nanoTime();
  try {
    checkIfOpen();
    if (tableDescriptor.getSimilarityClass() == null) {
      tableDescriptor.setSimilarityClass(FairSimilarity.class.getName());
    }
    String table=BlurUtil.nullCheck(tableDescriptor.name,"String_Node_Str");
    String cluster=BlurUtil.nullCheck(tableDescriptor.cluster,"String_Node_Str");
    assignTableUri(tableDescriptor);
    String uri=BlurUtil.nullCheck(tableDescriptor.tableUri,"String_Node_Str");
    int shardCount=BlurUtil.zeroCheck(tableDescriptor.shardCount,"String_Node_Str");
    Similarity similarity=BlurUtil.getInstance(tableDescriptor.similarityClass,Similarity.class);
    boolean blockCaching=tableDescriptor.blockCaching;
    Set<String> blockCachingFileTypes=tableDescriptor.blockCachingFileTypes;
    String blurTablePath=ZookeeperPathConstants.getTablePath(cluster,table);
    if (_zk.exists(blurTablePath,false) != null) {
      throw new IOException("String_Node_Str" + table + "String_Node_Str");
    }
    BlurUtil.setupFileSystem(uri,shardCount);
    BlurUtil.createPath(_zk,blurTablePath,null);
    BlurUtil.createPath(_zk,ZookeeperPathConstants.getTableColumnsToPreCache(cluster,table),toBytes(tableDescriptor.preCacheCols));
    BlurUtil.createPath(_zk,ZookeeperPathConstants.getTableUriPath(cluster,table),uri.getBytes());
    BlurUtil.createPath(_zk,ZookeeperPathConstants.getTableShardCountPath(cluster,table),Integer.toString(shardCount).getBytes());
    BlurUtil.createPath(_zk,ZookeeperPathConstants.getTableSimilarityPath(cluster,table),similarity.getClass().getName().getBytes());
    BlurUtil.createPath(_zk,ZookeeperPathConstants.getLockPath(cluster,table),null);
    BlurUtil.createPath(_zk,ZookeeperPathConstants.getTableFieldNamesPath(cluster,table),null);
    if (tableDescriptor.readOnly) {
      BlurUtil.createPath(_zk,ZookeeperPathConstants.getTableReadOnlyPath(cluster,table),null);
    }
    if (blockCaching) {
      BlurUtil.createPath(_zk,ZookeeperPathConstants.getTableBlockCachingPath(cluster,table),null);
    }
    BlurUtil.createPath(_zk,ZookeeperPathConstants.getTableBlockCachingFileTypesPath(cluster,table),toBytes(blockCachingFileTypes));
    BlurUtil.createPath(_zk,ZookeeperPathConstants.getTablePropertiesPath(cluster,table),toBytes(tableDescriptor.getTableProperties()));
  }
 catch (  IOException e) {
    throw new RuntimeException(e);
  }
catch (  KeeperException e) {
    throw new RuntimeException(e);
  }
catch (  InterruptedException e) {
    throw new RuntimeException(e);
  }
 finally {
    long e=System.nanoTime();
    LOG.debug("String_Node_Str" + (e - s) / 1000000.0 + "String_Node_Str");
  }
}