Program: 82119
Project: 82119
Buggy source:
private void assignMapReduceWorkingPath(TableDescriptor tableDescriptor) throws IOException {
  Map<String,String> tableProperties=tableDescriptor.getTableProperties();
  String mrIncWorkingPathStr=getProperty(tableProperties,BlurConstants.BLUR_BULK_UPDATE_WORKING_PATH);
  if (mrIncWorkingPathStr == null) {
    mrIncWorkingPathStr=_configuration.get(BlurConstants.BLUR_BULK_UPDATE_WORKING_PATH);
    if (mrIncWorkingPathStr == null) {
      LOG.info("String_Node_Str",tableDescriptor.getName());
      return;
    }
    mrIncWorkingPathStr=new Path(mrIncWorkingPathStr,tableDescriptor.getName()).toString();
    tableDescriptor.putToTableProperties(BlurConstants.BLUR_BULK_UPDATE_WORKING_PATH,mrIncWorkingPathStr);
  }
  Path mrIncWorkingPath=new Path(mrIncWorkingPathStr);
  FileSystem fileSystem=mrIncWorkingPath.getFileSystem(_config);
  Path newData=new Path(mrIncWorkingPath,NEW);
  Path tmpData=new Path(mrIncWorkingPath,TMP);
  Path inprogressData=new Path(mrIncWorkingPath,INPROGRESS);
  Path completeData=new Path(mrIncWorkingPath,COMPLETE);
  Path fileCache=new Path(mrIncWorkingPath,CACHE);
  String permission=getProperty(tableProperties,BlurConstants.BLUR_BULK_UPDATE_WORKING_PATH_PERMISSION);
  FsPermission fsPermission;
  if (permission == null || permission.isEmpty()) {
    fsPermission=FsPermission.getDirDefault();
  }
 else {
    fsPermission=new FsPermission(permission);
  }
  fileSystem.mkdirs(mrIncWorkingPath,fsPermission);
  fileSystem.mkdirs(newData,fsPermission);
  fileSystem.mkdirs(tmpData,fsPermission);
  fileSystem.mkdirs(inprogressData,fsPermission);
  fileSystem.mkdirs(completeData,fsPermission);
  fileSystem.mkdirs(fileCache,fsPermission);
}

Fixed version (ground truth):
private void assignMapReduceWorkingPath(TableDescriptor tableDescriptor) throws IOException {
  Map<String,String> tableProperties=tableDescriptor.getTableProperties();
  String mrIncWorkingPathStr=getProperty(tableProperties,BlurConstants.BLUR_BULK_UPDATE_WORKING_PATH);
  if (mrIncWorkingPathStr == null) {
    mrIncWorkingPathStr=_configuration.get(BlurConstants.BLUR_BULK_UPDATE_WORKING_PATH);
    if (mrIncWorkingPathStr == null) {
      LOG.info("String_Node_Str",tableDescriptor.getName());
      return;
    }
    mrIncWorkingPathStr=new Path(mrIncWorkingPathStr,tableDescriptor.getName()).toString();
    tableDescriptor.putToTableProperties(BlurConstants.BLUR_BULK_UPDATE_WORKING_PATH,mrIncWorkingPathStr);
  }
  Path mrIncWorkingPath=new Path(mrIncWorkingPathStr);
  FileSystem fileSystem=mrIncWorkingPath.getFileSystem(_config);
  Path newData=new Path(mrIncWorkingPath,NEW);
  Path tmpData=new Path(mrIncWorkingPath,TMP);
  Path inprogressData=new Path(mrIncWorkingPath,INPROGRESS);
  Path completeData=new Path(mrIncWorkingPath,COMPLETE);
  Path fileCache=new Path(mrIncWorkingPath,CACHE);
  String permission=getProperty(tableProperties,BlurConstants.BLUR_BULK_UPDATE_WORKING_PATH_PERMISSION);
  FsPermission fsPermission;
  if (permission == null || permission.isEmpty()) {
    fileSystem.mkdirs(mrIncWorkingPath);
    fileSystem.mkdirs(newData);
    fileSystem.mkdirs(tmpData);
    fileSystem.mkdirs(inprogressData);
    fileSystem.mkdirs(completeData);
    fileSystem.mkdirs(fileCache);
  }
 else {
    fsPermission=new FsPermission(permission);
    fileSystem.mkdirs(mrIncWorkingPath,fsPermission);
    fileSystem.mkdirs(newData,fsPermission);
    fileSystem.mkdirs(tmpData,fsPermission);
    fileSystem.mkdirs(inprogressData,fsPermission);
    fileSystem.mkdirs(completeData,fsPermission);
    fileSystem.mkdirs(fileCache,fsPermission);
  }
}