==== CL 9013 ====
@NEW: added description of supervisor_job_flags in the qb.conf.template file
==== CL 9010 ====
@FIX: fixed memory bloat issue in supervisor threads on start up, on farms with many jobs.
In some cases, it had been reported that each supe thread was taking up 500+ MB.
==== CL 8975 ====
@NEW: add section (8.7) for "externally updatable worker resources and properties" to Administration.doc
==== CL 8957 ====
@NEW: add user name to print to supelog when a worker lock is updated
==== CL 8949 ====
@FIX: fix datawarehouse crontab so that 7-day tables are rebuilt twice a day
==== CL 8948 ====
@NEW: add global_resource tracking to the datawarehouse
==== CL 8935 ====
@FIX: update qb.conf templates to show the correct default value for supervisor_default_security
@INTERNAL: previous setting was an hex value, which seems to be unsupported now.
==== CL 8910 ====
@NEW: add C++ examples for using the qbupdateworkerresource(), qbupdateworkerproperties(), qbdeleteworkerresources(), and qbdeleteworkerproperties() routines
==== CL 8909 ====
@NEW: add Perl API routines for externally updated worker resources/properties
* add bindings to perl
** add qb::updateworkerresources() and updateworkerproperties() to perl api
** add deleteworkerresources() and deleteworkerproperties() to perl
qb::deleteworkerresources("shinyambp.local", "host.extenres", "host.ooga");
==== CL 8901 ====
@FIX: fixed bug where subjobs will be retried indefinitely when retrysubjob is set.
ZD: 2950 4661
==== CL 8889 ====
@FIX: fixed issue where the supervisor kept adding duplicate auto-wrangling and mail callbacks when jobs are resubmitted
==== CL 8886 ====
@INTEG: rel-6.2 -> main
@FIX: properly remove datawarehouse scheduled tasks for round-robin tables
==== CL 8885 ====
@FIX: properly remove datawarehouse scheduled tasks for round-robin tables
==== CL 8872 ====
@FIX: issue introduced in 6.2.1 that broke callbacks (not being triggered)
==== CL 8859 ====
@FIX: add bookmarks (TOC) to Admin docs, update section for qblock to refer to "Users guide" instead of non-existent "Command Reference"
==== CL 8857 ====
@NEW: add externally-updatable worker resources and properties
==== CL 8847 ====
@CHANGE: upgrade_config tool no longer comments out some of the customized paths in qb.conf
==== CL 8846 ====
@FIX: supe and worker RPMs now correctly "require" specific qube-core version (like "6.2-1")
==== CL 8841 ====
@FIX: issue with supervisor threads stalling, waiting for NFS I/O on the "mounted" job logs, when NFS latency is large.
==== CL 8840 ====
@UPDATE: "Use" doc with p-agenda documentation
@UPDATE: also added/updated some qbsub examples
==== CL 8837 ====
@NEW: add example scripts to demonstrate submission of p-agenda jobs in perl and python
==== CL 8836 ====
@NEW: adding docs for retryworkdelay (qbsub option)
==== CL 8811 ====
@FIX: fixed worker installer to start the worker service iff the system has not already turned it OFF via chkconfig.
==== CL 8798 ====
@NEW: optimization when submitting big groups of jobs via qbsubmit() loaded with callbacks and dependencies
Fixed reported issue where submission performance will degrade linearly proportional to the number of jobs in the queue.
==== CL 8795 ====
@UPDATE: added descriptions of new/missing qb.conf parameters to the qb.conf.template file, which is used to build the default qb.conf.
* added p-agenda params (supe and client)
* added auto-wrangling params (supe)
* added per-user/pgrp subjob limit params (supe)
* added mail setup params (supe)
* added database setup params (supe)
==== CL 8794 ====
@NEW: add p-agenda submission options to qbsub (p_agenda, p_priority, and p_cpus), and updated online help text.
==== CL 8790 ====
@CHANGE: Python API qb.reportjob() now takes a subjob object (dict). It can still take just the status (string).
This should enable the custom jobtype back-end programmer to pass back subjob-level "resultpackage" data to the supe, for example.
==== CL 8783 ====
@NEW: add supervisor_p_agenda_max qb.conf parameter, for the site-admin to control the maximum number of p-agenda any job can have.
==== CL 8782 ====
@NEW: add p_agenda_cpus to enable control of the number of "cpus" used for the p-agenda jobs. Defaults to number of p-agenda items.
@CHANGE: removed code that automatically makes a job to become a p-agenda job when
p_agenda_priority() is set. The "p_agenda" list or the "p_agenda" job flag must be explicitly
set for a job to be a p-agenda job.
==== CL 8781 ====
@CHANGE: if an agenda-based job specifies the p_agenda_priority, then automatically add the p_agenda flag.
@CHANGE: added code to check that the job being submitted is an agenda-based one, before doing the p-agenda magic
==== CL 8775 ====
@UPDATE: doc update w/ "qbhash" and encrypted DB password descriptions
@UPDATE: Added section for qbhash, and updated section for qblogin.
@UPDATE: section for database_password
BUGZID: 63383 63628 39741
==== CL 8769 ====
@NEW: add "qbhash" tool, used to generate/display encrypted passwords
@NEW: add "-password" option to qblogin, to specify password in a command-line option instead of on the stdin
==== CL 8767 ====
@FIX: install datawarehouse plists on OSX (missing from installer package)
==== CL 8764 ====
@NEW: add p-agenda (p-frames, "p" stands for Priority/Preview/Poster) support, where a select few agenda items of a job can be sent at a higher priority for quicker turn around for previewing purposes.
To use in API: set the "p_agenda" job flag when submitting an agenda-based job.
Optionally attach a list, job['p_agenda'] in python API, to the job on submission to explicitly specify the p-agenda items. If not set explicitly, the system will automatically choose the 1st, last, and middle items to be rendered at a higher priority.
The priority of the p-agenda items may also be specified on submission, by setting the job's p_agenda_priority parameter.
p-agenda job support for the standard submission tools (GUI, qbsub) coming shortly.
@NEW: qb.conf parameters: client_p_agenda_priority, supervisor_default_p_agenda_priority (default 1)
==== CL 8760 ====
@UPDATE: Administration.doc with details about the new worker_boot_diagnostic_retries and worker_boot_diagnostics_retry_interval parameters
==== CL 8755 ====
@FIX: Added worker_boot_diagnostics_retries and worker_boot_diagnostics_retry_interval
These new configuration parameters tell the worker to automatically retry the boot-time
diagnostic routines for "worker_boot_diagnostics_retries" times, with
"worker_boot_diagnostics_retry_interval" seconds of sleep time inbetween the retries.
By default, they are set to 1 and 30 (seconds) respectively. These values may be
set in the local qb.conf file, or in the qbwrk.conf file.
@FIX: issue where worker will "panic" when proxy settings are set in the remote qbwrk.conf file.
BUGZID: 63600 63422 63407
ZD: 3650 1638 2035
==== CL 8743 ====
@NEW: add qb.frontend package, will serve as base class for constructing jobs for new python jobtypes
==== CL 8727 ====
@CHANGE: database_password is now expected to be encrypted.
Plain text password still works, but if a password has been set up to access the MySQL db, site administrators are
recommended, but not required, that they use "qblogin -display" to generate the encrypted password, and set
database_password in qb.conf to the encrypted string for more security.
==== CL 8722 ====
@NEW: add optional artificial delay before auto-retry of agenda items via "retrywork"
When a failed frame is automatically retried via "retrywork", an artificial delay may be inserted before the subjob starts processing it.
Requested by customers to work around issues with, for example, application license contentions.
Submission APIs (C++, Perl, Python) and clients (qbsub, QubeGUI) modified to allow specifying "retrywork_delay" when submitting jobs.
==== CL 8717 ====
@FIX: logs written into a "hidden" file, in "log/user/.hst", which grows very large
Actions initiated by the supe (as opposed to a particular user), such as
"starting a subjob on worker", were logged into this hidden ".hst"
file. Fixed it so the file has a special folder/name,
Also modified code so that if the "user" flag was ommitted from the
"supervisor_log_flags", then this user action logging is disabled
==== CL 8713 ====
@FIX: turned off worker debug-level logging that accidentally made it into the 6.2.0 release.
==== CL 8712 ====
@FIX: issue where worker processes will stall when a config field, such as "worker_description" has quotes in them.
==== CL 8704 ====
@FIX: support bash exported function definitions, which are saved as multi-line environment variable values
==== CL 8702 ====
@NEW: add perl 5.12 and 5.14 support for windows x64 and 32-bit.
==== CL 8695 ====
@FIX: export_environment now works properly with built-in cmd* jobtypes
@FIX: cmd* jobtype backends will run jobs in a non-login shell if
export_environment flag is set on the job, to avoid overriding of
environment variables set by the job's submission environment.
@NEW: QbApi::qbsystem() now optionally takes a boolean to specify
commands to be run in a login shell.
@CHANGE: By default now, QbApi::qbsystem() will run the given command in a
@NEW: added optional "shell" parameter to QbEnv::setToEnv(user, [shell])
method, so the user environment for a non-default shell can be fetched.
This new method is called from QbWorker::QbUnix.cpp now.
==== CL 8693 ====
@FIX: fix "ERROR 1290 (HY000) at line 31 in file: '.\create_stored_programs.sql'" on new Windows installations
@FIX: fix Windows 5.15-beta version specific SQL syntax error (does not exhibit in later versions of MySQL)
==== CL 8676 ====
@FIX: add code to license check routine to validate hostid against all mac addresses on the host, as opposed to just the primary one.
Note: this involves changes to the base library (utils/QbList, utils/QbServer)
@CHANGE: modify license verification code to only run when the license file had been changed, or a new day has arrived, or on boot.
The code still checks to modification time of the license file everytime that a license access is required but most of the logic is now short-circuited, if no mod was made to the file.
It turns out to be rather tricky to, say, add a "reread" option to "qbadmin" to only read the license on demand, since all supe thread must be told to read the file (for quick access, license data is kept in memory of each thread/proc), and such "broadcast" type of instruction to go out to all threads is not supported at the moment.
The optimization being checked in, however, should significantly reduce the overhead in license-checking nontheless, especially with the new code where each license key's hostid is checked against all mac addresses for validation.
==== CL 8668 ====
@FIX: fix "/etc/rc.d/init.d/supervisor: line 139: [: /var/spool/qube/user/jburk/jburk.hst: binary operator expected" error message in supervisor startup
==== CL 8662 ====
@UPDATE: update doc with mail_from parameter description.
==== CL 8654 ====
@FIX: Made the qube-core RPM "obsolete" the "qube" package, to
accomodate the change in RPM package name.
==== CL 8641 ====
@FIX: added more details to default qb.conf template's description of proxy_nice_value, and also included explanation for Windows.
Also corrected the commented-out default proxy_account to "qubeproxy" (from "proxyuser") in the same qb.conf.template.
@DOC: update proxy_nice_value doc accordingly.
==== CL 8610 ====
@FIX: issue where supe will install but not run, due to missing python25.dll file.
==== CL 8606 ====
@FIX: The "Start Time" parameter for SCHTASKS.EXE (/ST option) must be in hh:mm:ss format for earlier versions of Windows (notably winxp 32).
==== CL 8598 ====
@NEW: add sample perl-based submit script that submits jobs with per-work email notification callbacks.
==== CL 8550 ====
@FIX: rolling back to linking supe against python 2.5 for its embedded interpreter instead of 2.7 to avoid runtime linkage issues with 2.7
==== CL 8547 ====
@FIX: added "post" as possible supervisor_language_flags
@FIX: default for supervisor_manifest_flags should be empty
==== CL 8535 ====
@CHANGE:Enhanced shotgun integration in job submission.
==== CL 8503 ====
@CHANGE: grant access to the PFX_*QBTIME* functions to MySQL user "qube_readonly"
@CHANGE: grant the pfx_dw user all rights to the pfx_stats DB
==== CL 8483 ====
@CHANGE: add support for non-cmdrange type backends, don't require qbTokens
==== CL 8482 ====
@NEW: a framework for python-based jobtype backends, as well as a base class for jobtypes which use an application's embedded python terminal prompt
* for use by the Nuke python jobtype (dynamic allocation)
* used by the intra-frame progress in pycmdrange
* can be used for Houdini jobytpe dynamic allocation (not mantra cmd-line renderer though)
==== CL 8480 ====
@FIX: fixed issue with perl API where the system won't respect the "retrywork" specified in jobs processed with a perl-based custom jobtype back-end.
@CHANGE: added some useful logging message to print to supelog when retrywork is being considered
==== CL 8472 ====
@FIX: issue where perl-based custom policy didn't work on some systems.
Embedded perl interpreter had to be initialized much earlier than it was, before the supervisor goes into multi-proc, and
before initializing customizable modules (algorithm, policy) that rely on it.
==== CL 8468 ====
@FIX: (Windows) modified worker memory tracking to store values in KB instead of bytes, to avoid buffer overflow.
==== CL 8466 ====
@FIX: (OSX) modified worker memory tracking to store values in KB instead of bytes, to avoid buffer overflow.
==== CL 8465 ====
@FIX: (Linux) modified worker memory tracking to store values in KB instead of bytes, to avoid buffer overflow.
==== CL 8458 ====
@NEW: add documentation for the "Get Next n Jobs" jobList pagination, document the new behavior of the User filterCtrl, since it now serves as both a display and request filter.
==== CL 8453 ====
@NEW: implement the ability to parse the logs on the fly to determine intra-chunk progress
@INTERNAL: clean up backend base class and backendUtils in preparation of more wide-spread use
==== CL 8449 ====
@NEW: a pure-python implementation of the cmdrange jobtype; it implements intra-chunk progress by parsing the output stream from the command as it's being written to disk during the course of the job, not after the job completes. Progess calculation works on both single- and multiple-item agenda jobs.
==== CL 8436 ====
@NEW: add doc for per-user/pgrp subjobs limits