The reason showJobs doesn't lock the JobTracker is because it only looks at information in the fair scheduler.
Matei, we access JobTracker.runningJobs(). This is accessing the jobs data structure in an unsynchronized manner. I see there's a JobTracker.getRunningJobs() which is providing synchronized access.
I also meant that the scheduler instance is not being locked when accessing APIs in the scheduler. Is that not required as well ?
How is it (refresh) handled on the JobTracker's web UI? For some reason I thought that refreshed.
The JobTracker web page is not refreshed. The Job and task details web pages are, and I see that the Job details web page does not synchronize access to the jobs data structure as well. But that is still a bug. smile.