class BulkIngestMapFileLoader implements Runnable {

    public boolean markJobDirectoryFailed(URI workingHdfs, Path jobDirectory) {
        boolean success = false;
        try {
            FileSystem fs = getFileSystem(workingHdfs);
            success = fs.rename(new Path(jobDirectory, LOADING_FILE_MARKER), new Path(jobDirectory, FAILED_FILE_MARKER));
            if (!success) {
                success = fs.createNewFile(new Path(jobDirectory, FAILED_FILE_MARKER));
                if (!success)
                    log.error("Unable to create " + FAILED_FILE_MARKER + " file in " + jobDirectory);
            }
        } catch (IOException e) {
            log.error("Exception while marking " + jobDirectory + " as failed: " + e.getMessage(), e);
        }
        return success;
    }

    public  BulkIngestMapFileLoader(String workDir, String jobDirPattern, String instanceName, String zooKeepers, Credentials credentials, URI seqFileHdfs,
                    URI srcHdfs, URI destHdfs, String jobtracker, Map<String,Integer> tablePriorities, Configuration conf);
    public  BulkIngestMapFileLoader(String workDir, String jobDirPattern, String instanceName, String zooKeepers, Credentials credentials, URI seqFileHdfs,
                    URI srcHdfs, URI destHdfs, String jobtracker, Map<String,Integer> tablePriorities, Configuration conf, int shutdownPort);
    public  BulkIngestMapFileLoader(String workDir, String jobDirPattern, String instanceName, String zooKeepers, Credentials credentials, URI seqFileHdfs,
                    URI srcHdfs, URI destHdfs, String jobtracker, Map<String,Integer> tablePriorities, Configuration conf, int shutdownPort,
                    int numHdfsThreads, List<Observer> jobObservers);

}