static {
   try {
     defaultConf.set("fs.defaultFS", "file:///");
     localFs = FileSystem.getLocal(defaultConf);
   } catch (IOException e) {
     throw new RuntimeException("init failure", e);
   }
 }
 private void startTT(JobConf conf) throws IOException, InterruptedException {
   myClock = new FakeClock(); // clock is reset.
   String localdirs = TEST_ROOT_DIR + "/userlogs/local/0," + TEST_ROOT_DIR + "/userlogs/local/1";
   conf.set(JobConf.MAPRED_LOCAL_DIR_PROPERTY, localdirs);
   tt = new TaskTracker();
   tt.setConf(new JobConf(conf));
   LocalDirAllocator localDirAllocator = new LocalDirAllocator("mapred.local.dir");
   tt.setLocalDirAllocator(localDirAllocator);
   LocalStorage localStorage = new LocalStorage(conf.getLocalDirs());
   localStorage.checkLocalDirs();
   tt.setLocalStorage(localStorage);
   localizer =
       new Localizer(FileSystem.get(conf), conf.getStrings(JobConf.MAPRED_LOCAL_DIR_PROPERTY));
   tt.setLocalizer(localizer);
   userLogManager = new UtilsForTests.InLineUserLogManager(conf);
   TaskController taskController = userLogManager.getTaskController();
   taskController.setup(localDirAllocator, localStorage);
   tt.setTaskController(taskController);
   userLogCleaner = userLogManager.getUserLogCleaner();
   userLogCleaner.setClock(myClock);
   tt.setUserLogManager(userLogManager);
   userLogManager.clearOldUserLogs(conf);
 }
 private void ttRestarted() throws IOException, InterruptedException {
   JobConf conf = new JobConf();
   conf.setInt(JobContext.USER_LOG_RETAIN_HOURS, 3);
   startTT(conf);
 }
 private void ttReinited() throws IOException {
   JobConf conf = new JobConf();
   conf.setInt(JobContext.USER_LOG_RETAIN_HOURS, 3);
   userLogManager.clearOldUserLogs(conf);
 }