PP-289: unique job ids up to 1 trillion

PBS Pro Community Forum Link: http://community.pbspro.org/t/pp-289-unique-job-ids-up-to-1-trillion/465

PP-289 - Getting issue details... STATUS

Currently the largest possible Job ID which PBS can hold is "9999999". Which is a bit low for sites submitting lot of jobs. With new enhancement the largest possible Job ID that PBS would now hold will be "999999999999". Thus the range will be (0 to 999999999999) with a total of 1 trillion unique job IDs. 

  • Interface 1: max_job_sequence_id server attribute

    • Visibility: Public
    • Change Control: Stable
    • Details: Using this attribute admin can change max job sequence id in the server. Once max job sequence id reaches to the max value(999999999999) then server will rollback the job sequence id to 0 (i.e next job or reservation id). If the max_job_sequence_id is set to something smaller than current max_job_sequence_id then it will wrap to 0(ZERO).
      • Default value of the attribute will be 9999999.
      • Max value for the attribute is "999999999999"
      • Min value for the attribute is "9999999"
      • max_job_sequence_id attribute value can be anything between 9999999 to 999999999999 only.
  • Log/Error messages:
    • When non privileged user try to set max_job_sequence_id then following error message will be displayed by qmgr:
      • qmgr obj= svr=default: Unauthorized Request 
        qmgr: Error (15007) returned from server
    • When admin try to set invalid value for max_job_sequence_id then following error message will be displayed by qmgr:
      • qmgr obj= svr=default: Cannot set max_job_sequence_id < 9999999, or > 999999999999

      • qmgr: Error (15225) returned from server

    • Following log message will be added to server logs when admin sets max_job_sequence_id:
      • Log event: PBSEVENT_ADMIN
      • Log level: LOG_NOTICE
      • Log message:svr_max_job_sequence_id set to val <value>
    • Following log message will be added to server logs when admin unset max_job_sequence_id:
      • Log event: PBSEVENT_ADMIN
      • Log level: LOG_NOTICE
      • Log message:svr_max_job_sequence_id reverting back to default val <value>
  • Interface 2: qstat output

    • Visibility: Public
    • Change Control: Stable
    • Details: As PBS_MAXSEQNUM changed from 7 to 12 to support 1 trillion sequence id, so if the max_job_sequence_id set to something greater than the default(9999999) value then qstat header width (like qstat -n/-s/-st etc) will change and for default width will not change means, it will remain same as now. There is no effect on qstat wide formats which means whether you would increase or decrease the max_job_sequence_id value these widths will remain same as now.

                            Example: Given below an example in which we can see the change in qstat output format:

                                           Previous Output: If max job id is "9999999"  and server name is "servername-cent7" then output displays in Job id column like 9999999.servernam

                                           New Output: Now, if max job id is increased to something greater than "9999999" like set to higher limit "999999999999" then output would be like 999999999999.servernam

                           Note: Increased the width of Job Id column(from 17 to 22 characters) only.

  • Interface 3: pbs_rstat output

    • Visibility: Public
    • Change Control: Stable
    • Details: As PBS_MAXSEQNUM increased from 7 to 12, so pbs_rstat output header will also get change in case of increasing the max_job_sequence_id from default else same as now.

                              Given below the output of pbs_rstat command  

                              Example: Given below an example in which we can see the change in pbs_rstat output format:

                                           Previous Output: If max reservation id is "9999999"  and server name is "servername-cent7" then output displays like: 

Resv IDQueue
R9999999.sR9999999


                                            New Output: Now, if column width is increased to 15(Resv ID) and 13(Queue) and max reservation id also increased to higher limit "999999999999" then output would be like:

Resv IDQueue
R999999999999.sR999999999999

                    Note: Increased the column width of "Resv ID" (from 10 to 15)and "Queue"(from 8 to 13) only


Limitation: With this implementation the maximum length of Job name (PBS_MAXJOBNAME) will be limited to 230 character wide.