private static void lsonejob(String jobId, AbstractMap<String, JobStatus> jobStatusTbl) {
		System.out.println("--------------------------------");
		System.out.println("Job Name: " + jobStatusTbl.get(jobId).jobName);
		System.out.println("Job ID: " + jobId);
		System.out.println("Number of mapper  tasks in total: " + jobStatusTbl.get(jobId).mapTaskTotal);
		System.out.println("Number of reducer tasks in total: " + jobStatusTbl.get(jobId).reduceTaskTotal);
		WorkStatus status = jobStatusTbl.get(jobId).status;
		System.out.println("Status: " + status);
		//if (status == WorkStatus.RUNNING) {
			/* print out all mapper tasks status */
			AbstractMap<String, TaskStatus> mapperTbl = jobStatusTbl.get(jobId).mapperStatusTbl;
			Set<String> mapTaskIds = mapperTbl.keySet();
			for (String mapTaskId : mapTaskIds) {
				String ip = mapperTbl.get(mapTaskId).taskTrackerIp == null ? "not assigned yet" : mapperTbl.get(mapTaskId).taskTrackerIp;
				System.out.println("Mapper  task (id = " + mapTaskId + ") status: " + mapperTbl.get(mapTaskId).status + ", Task Tracker " + ip);
			}
			
			/* print out all reducer tasks status */
			AbstractMap<String, TaskStatus> reducerTbl = jobStatusTbl.get(jobId).reducerStatusTbl;
			Set<String> reduceTaskIds = reducerTbl.keySet();
			if (reduceTaskIds.size() == 0) {
				System.out.println("Reducer tasks will run after mapper tasks complete");
			}
			for (String reduceTaskId : reduceTaskIds) {
				String ip = reducerTbl.get(reduceTaskId).taskTrackerIp == null ? "not assigned yet" : reducerTbl.get(reduceTaskId).taskTrackerIp;
				System.out.println("Reducer task (id = " + reduceTaskId + ") status: " + reducerTbl.get(reduceTaskId).status + ", Task Tracker " + ip);
			}
		//}
	}