Requirement -

Accounting record type 'R' should have information about resources used by the job so far.

Analysis:

Code flow:

Case 1. Job re-queued because node_fail_requeue was triggered:

node_down_requeue() --> discard_job() --> post_discard_job() --> account_jobend()

Case 2, 5. job is rerun using qrerun <job id> and on mom restart.

on_job_rerun() [job substate == JOB_SUBSTATE_RERUN3] --> account_jobend()

Case 3. job is rerun using qrerun -Wforce <job id>.

req_rerunjob() --> req_rerunjob2() --> force_requeue() --> account_jobend().

Case 4. provisioning of a vnode fails

check_and_run_jobs() --> fail_vnode_job() --> force_requeue() --> account_jobend()