Updated patch addressing the above comments except:
(9) Don't we want to support viewing of older history files ? With older history files(where job ACLs are not there), JSPUtil.getJobInfo() gets NPE because JobSubmittedEvent.getJobACLs() gets NPE. Should we allow viewing of older history files assuming that view access exists for those jobs for all users ?
JobHistory currently DOES NOT have the support to read older versions of history files. So this cannot be done in this issue and hence makes this an incompatible change.
(11) In rumen, in Job20LineHistoryEventEmitter.java, from the parsed line of history file, jobACLs are not read but empty ACLs are written to. I guess we need to build ACLs from the parsedLine of history.
There are no ACLs in the 20 format of JobHistory, so we don't need to do anything here. Changes percolated into this class as I've broken the compatibility of JobSubmissionEvent class constructor. Not very sure if we need backward-compatibility of this class as it may be internal only.
(15) Am not sure if passing of rumen tests is good enough for this patch. Do we need any additional testing ?
It's on Rumen how to use the logged ACLs. 'Cause this patch is not adding any new code for Rumen w.r.t JobACLs, we don't need more tests in this regard.