Program: 8711
Project: 8711
Buggy source:
public boolean runWithCheckedExceptions() throws IOException, InterruptedException {
  HTable backfilledHTable=null;
  HTable liveCubeHTable=null;
  ResultScanner liveCubeScanner=null;
  try {
    liveCubeHTable=new HTable(conf,liveCubeTableName);
    liveCubeScanner=liveCubeHTable.getScanner(cf);
    boolean liveCubeIsEmpty=!liveCubeScanner.iterator().hasNext();
    liveCubeScanner.close();
    if (liveCubeIsEmpty) {
      log.info("String_Node_Str");
      HBaseSnapshotter hbaseSnapshotter=new HBaseSnapshotter(conf,backfilledTableName,cf,liveCubeTableName,new Path("String_Node_Str"),true,null,null);
      return hbaseSnapshotter.runWithCheckedExceptions();
    }
 else {
      Job job=new Job(conf);
      backfilledHTable=new HTable(conf,backfilledTableName);
      Pair<byte[][],byte[][]> allRegionsStartAndEndKeys=backfilledHTable.getStartEndKeys();
      byte[][] internalSplitKeys=BackfillUtil.getSplitKeys(allRegionsStartAndEndKeys);
      Collection<Scan> scans=scansThisCubeOnly(cubeNameKeyPrefix,internalSplitKeys);
      if (log.isDebugEnabled()) {
        log.debug("String_Node_Str" + scans);
      }
      CollectionInputFormat.setCollection(job,Scan.class,scans);
      job.getConfiguration().set("String_Node_Str","String_Node_Str");
      job.setJobName("String_Node_Str");
      job.setJarByClass(HBaseBackfillMerger.class);
      job.getConfiguration().set(CONFKEY_DESERIALIZER,opDeserializer.getName());
      job.setMapperClass(HBaseBackfillMergeMapper.class);
      job.setInputFormatClass(CollectionInputFormat.class);
      job.setNumReduceTasks(0);
      job.setOutputFormatClass(NullOutputFormat.class);
      job.getConfiguration().set(CONFKEY_LIVECUBE_TABLE_NAME,new String(liveCubeTableName));
      job.getConfiguration().set(CONFKEY_SNAPSHOT_TABLE_NAME,new String(snapshotTableName));
      job.getConfiguration().set(CONFKEY_BACKFILLED_TABLE_NAME,new String(backfilledTableName));
      job.getConfiguration().set(CONFKEY_COLUMN_FAMILY,new String(cf));
      job.getConfiguration().set("String_Node_Str","String_Node_Str");
      job.getConfiguration().set("String_Node_Str","String_Node_Str");
      try {
        job.waitForCompletion(true);
        return job.isSuccessful();
      }
 catch (      ClassNotFoundException e) {
        log.error("String_Node_Str",e);
        throw new RuntimeException(e);
      }
    }
  }
  finally {
    if (liveCubeScanner != null) {
      liveCubeScanner.close();
    }
    if (liveCubeHTable != null) {
      liveCubeHTable.close();
    }
    if (backfilledHTable != null) {
      backfilledHTable.close();
    }
  }
}

Fixed version (ground truth):
public boolean runWithCheckedExceptions() throws IOException, InterruptedException {
  HTable backfilledHTable=null;
  HTable liveCubeHTable=null;
  ResultScanner liveCubeScanner=null;
  try {
    liveCubeHTable=new HTable(conf,liveCubeTableName);
    liveCubeScanner=liveCubeHTable.getScanner(cf);
    boolean liveCubeIsEmpty=!liveCubeScanner.iterator().hasNext();
    liveCubeScanner.close();
    if (liveCubeIsEmpty) {
      log.info("String_Node_Str");
      HBaseSnapshotter hbaseSnapshotter=new HBaseSnapshotter(conf,backfilledTableName,cf,liveCubeTableName,new Path("String_Node_Str"),true,cubeNameKeyPrefix,Bytes.add(cubeNameKeyPrefix,fiftyBytesFF));
      return hbaseSnapshotter.runWithCheckedExceptions();
    }
 else {
      Job job=new Job(conf);
      backfilledHTable=new HTable(conf,backfilledTableName);
      Pair<byte[][],byte[][]> allRegionsStartAndEndKeys=backfilledHTable.getStartEndKeys();
      byte[][] internalSplitKeys=BackfillUtil.getSplitKeys(allRegionsStartAndEndKeys);
      Collection<Scan> scans=scansThisCubeOnly(cubeNameKeyPrefix,internalSplitKeys);
      if (log.isDebugEnabled()) {
        log.debug("String_Node_Str" + scans);
      }
      CollectionInputFormat.setCollection(job,Scan.class,scans);
      job.getConfiguration().set("String_Node_Str","String_Node_Str");
      job.setJobName("String_Node_Str");
      job.setJarByClass(HBaseBackfillMerger.class);
      job.getConfiguration().set(CONFKEY_DESERIALIZER,opDeserializer.getName());
      job.setMapperClass(HBaseBackfillMergeMapper.class);
      job.setInputFormatClass(CollectionInputFormat.class);
      job.setNumReduceTasks(0);
      job.setOutputFormatClass(NullOutputFormat.class);
      job.getConfiguration().set(CONFKEY_LIVECUBE_TABLE_NAME,new String(liveCubeTableName));
      job.getConfiguration().set(CONFKEY_SNAPSHOT_TABLE_NAME,new String(snapshotTableName));
      job.getConfiguration().set(CONFKEY_BACKFILLED_TABLE_NAME,new String(backfilledTableName));
      job.getConfiguration().set(CONFKEY_COLUMN_FAMILY,new String(cf));
      job.getConfiguration().set("String_Node_Str","String_Node_Str");
      job.getConfiguration().set("String_Node_Str","String_Node_Str");
      try {
        job.waitForCompletion(true);
        return job.isSuccessful();
      }
 catch (      ClassNotFoundException e) {
        log.error("String_Node_Str",e);
        throw new RuntimeException(e);
      }
    }
  }
  finally {
    if (liveCubeScanner != null) {
      liveCubeScanner.close();
    }
    if (liveCubeHTable != null) {
      liveCubeHTable.close();
    }
    if (backfilledHTable != null) {
      backfilledHTable.close();
    }
  }
}