Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Jira Legacy
serverJIRA (pbspro.atlassian.net)
serverId32008a99-7831-3ff8-9638-3db0cd01164d
keyPP-578


Overview:

Ticket

Jira Legacy
serverJIRA (pbspro.atlassian.net)
serverId32008a99-7831-3ff8-9638-3db0cd01164d
keyPP-228
was addressed by removing the code to restart the Python interpreter. This change introduced a significant memory leak when queuejob, modifyjob, and movejob hooks are present. This code will be restored in such a way that the administrator has more control and visibility over Python restarts. The change control is being defined as experimental because the long term plan is to address the memory leak in the pbs Python extension itself. Once completed, all of these interfaces become unnecessary.

Interfaces:

  • Interface 1: PBS_PYTHON_RESTART_MAX_HOOKS
    • Visibility: Public
    • Change Control: Experimental
    • Synopsis: Add configuration variable PBS_PYTHON_RESTART_MAX_HOOKS
    • Detail: In the past there were macros defined to control how often the Python interpreter was restarted in the server. Allow the administrator to override the hook count limit. Default is 100, as it was previously.
  • Interface 2: PBS_PYTHON_RESTART_MAX_OBJECTS
    • Visibility: Public
    • Change Control: Experimental
    • Synopsis: Add configuration variable PBS_PYTHON_RESTART_MAX_OBJECTS
    • Detail: In the past there were macros defined to control how often the Python interpreter was restarted in the server. Allow the administrator to override the object count limit. Default is 1000, as it was previously.
  • Interface 3: PBS_PYTHON_RESTART_MIN_INTERVAL
    • Visibility: Public
    • Change Control: Experimental
    • Synopsis: Add configuration variable PBS_PYTHON_RESTART_MIN_INTERVAL
    • Detail: This is a new configuration variable that controls the minimum interval between Python restarts, expressed in seconds. Default behavior is to avoid restarting the server more than once every 30 seconds. Administrators may increase this value at the cost of additional server memory usage.
  • Interface 4: Log message
    • Visibility: Public
    • Change Control: Experimental
    • Synopsis: PBS_PYTHON_RESTART_MAX_HOOKS: 100
    • Detail: A DEBUG3 message is being added to log the value of PBS_PYTHON_RESTART_MAX_HOOKS the first time that _pbs_python_event_set() is called.
  • Interface 5: Log message
    • Visibility: Public
    • Change Control: Experimental
    • Synopsis: PBS_PYTHON_RESTART_MAX_OBJECTS: 1000
    • Detail: A DEBUG3 message is being added to log the value of PBS_PYTHON_RESTART_MAX_OBJECTS the first time that _pbs_python_event_set() is called.
  • Interface 46: Log message
    • Visibility: Public
    • Change Control: Experimental
    • Synopsis: PBS_PYTHON_RESTART_MIN_INTERVAL: 10030
    • Detail: A DEBUG3 message is being added to log the value of PBS_PYTHON_RESTART_MAX_HOOKS the first time that _pbs_python_event_set() is called.

...