##############################################################################
@RELEASE: 6.8-0
##############################################################################
==== CL 15154 ====
@CHANGE: supervisor now rejects workers that have newer major/minor version than itself.
Such workers will essentially stay in "down" state, or never appear in the host list.
JIRA: QUBE-1341
==== CL 15137 ====
@FIX: Windows qbservice tool to back up existing my.cnf file before writing a new one when invoked with the "--mysqlprepare" option (i.e., via the supervisor installer)
For consistency with the Mac OS X supe installer, the back up file is named "mysql.qubebak.$$" where $$ is the current process ID (pid).
JIRA: QUBE-1229
==== CL 15077 ====
@NEW: add bin/qbdeleteworkerresources and qbdeleteworkerproperties programs
==== CL 15053 ====
@NEW:Basic admin UI for central prefs
==== CL 15052 ====
@CHANGE: automatically adjust host.processors of all jobs on farms with Designer licensing to 1.
==== CL 15048 ====
@FIX: "ERROR: unable to contact worker." - checkDiskUsage.py throws error when run on a machine which is not running as a worker.
==== CL 15014 ====
@FIX: fixed Python API docstring for deleteworkerresources and deleteworkerproperties
JIRA: QUBE-1322
==== CL 15011 ====
@CHANGE: allow "retry" of "badlogin" jobs (attempts to change their status to "pending")
JIRA: QUBE-642
==== CL 14948 ====
@FIX: "scoped" global resources aren't being tracked in the data warehouse
==== CL 14923 ====
@FIX: decrease the frequency of reporting progress and errors
@CHANGE: only do a file size check on the first 5 frames in a chunk
@FIX: setting fileSizeMin validation size to 0 disables the size checking.
==== CL 14919 ====
@FIX: log parsing not finding any matches in stderr, only stdout
==== CL 14751 ====
@CHANGE: decrease sampling and polling intervals to allow for consecutive fast-running commands to complete quicker, cuts down on application startup time for some apps
==== CL 14750 ====
@CHANGE: python job classes can take option 'prototype' arg in the constructor
==== CL 14749 ====
@CHANGE: child_bootstrapper for python loadOnce jobs is passed in as an argument, allows for application-specific bootstrappers
==== CL 14702 ====
@FIX: add code so that python27.zip is also added to 64-bit supe MSI builds
JIRA: QUBE-1228
==== CL 14698 ====
@NEW: adding python27.zip to be shipped with supervisor's MSI package
JIRA: QUBE-1228
==== CL 14691 ====
@FIX: add code to properly load python 2.7 modules shipped with the supervisor, in python27.zip (which contains files from Python 2.7.10 distrubution)
==== CL 14657 ====
@FIX: add missing python27.dll file to supervisor MSI package
JIRA: QUBE-1228
==== CL 14581 ====
@CHANGE: changed ("new") worker behavior when auto-mount drives are unmountable due to duplicate drives.
Now, failed attempts to auto-mount a drive due to the drive letter already
being in use will only generate a WARNING message in the workerlog, instead
of rejecting the job and sending it back to the supe as "pending".
==== CL 14579 ====
@CHANGE: add more useful info to print to the workerlog when a job is rejected due to duplicate drive mounting (attempt to mount to a drive letter that's already mounting something else)
==== CL 14574 ====
@FIX: Secondary jobs were being dispatched even when supervisor_smart_share_mode is set to NONE
ZD: 14613
==== CL 14528 ====
@FIX: issue when modifying job's "env": "cwd", "umask", and "drivemap" are wiped-- additional fix to allow "env" modification of multiple jobs with a single call to qbmodify()
See also CL14516.
JIRA: QUBE-1161
ZD: 14549
==== CL 14523 ====
@CHANGE: upgraded supervisor's embedded Python to version 2.7.2 on Windows
JIRA: QUBE-1164
==== CL 14518 ====
@CHANGE: worker_boot_delay defaults to 10 seconds on workers running in service mode, on ALL platforms.
JIRA: QUBE-989
==== CL 14516 ====
@FIX: issue when modifying job's "env": "cwd", "umask", and "drivemap" are wiped
JIRA: QUBE-1161
ZD: 14549
==== CL 14514 ====
@FIX: add agenda item (aka "work") status to print properly to the job's history log when it's recalled, because of the instance that's processing being migrated, interrupted, failed, killed, or blocked.
There will be a line like the following in the .hst history log:
[Sep 15, 2015 17:09:05] 495670145 work 45765 1 __QUBE_SYSTEM__@supervisor recalled in supervisor by user[] from host[supervisor] on host[shinyambp] (127.0.0.1)
Note that this will also show, as expected, when a job instance reaches timeout (if specified) and "failed" by the system.
JIRA: QUBE-829
ZD: 13521
==== CL 14507 ====
@FIX: issue where subst mounted local drives will disappear from Explorer after a job finishes on DU mode workers.
@FIX: also fixed a bug where an already-mounted network/subst drives weren't being detected properly
ZD: 14009
JIRA: QUBE-1030
==== CL 14500 ====
@FIX: issue where cmd* jobtype jobs fail when paths given to QB_CONVERT_PATH() include parentheses
Note: problem was with the command-line tokenizer, QbExpressions::commandtokenize() routine, commonly used by all cmd* jobtypes, not respecting double-quoted and single-quoted strings.
JIRA: QUBE-1139
==== CL 14479 ====
@FIX: QB_CONVERT_PATH() runtime path conversion fails when the path to be converted contains parentheses
==== CL 14473 ====
@FIX: Allow custom algorithms to decide how to preempt SmartShare secondary instances, or just default to using value set in supervisor_smart_share_preempt_policy.
Custom algorithms may define a qb_preemptcmp_secondary() routine to control how secondary jobs are preempted.
ZD: 14472
JIRA: QUBE-1145
==== CL 14406 ====
@FIX: fixed missing job parameters in the job object returned by "qbjobobj()" (qb.jobobj() in python) in jobtype backends.
The following parameters were added:
queue
max_cpus
omithosts
omitgroups
notes
cpustally
todotally
automigratecount
retrysubjob
retrywork
retrywork_delay
dependency
mailaddress
sourcehost
prod_show
prod_shot
prod_seq
prod_client
prod_dept
prod_custom1
prod_custom2
prod_custom3
prod_custom4
prod_custom5
==== CL 14397 ====
@FIX: performance tweak, cut down on the number of times backends and automated scripts fetch the supervisor config
==== CL 14360 ====
@CHANGE: agenda-based job instance is immediately interrupted, even if the global preemption policy is set to passive, if it hasn't started processing an agenda item
JIRA: QUBE-1077
ZD: 14109
==== CL 14352 ====
@FIX: added QB_FRAME_NUMBER, QB_FRAME_START, QB_FRAME_END, QB_FRAME_STEP, and QB_FRAME_RANGE to be defined in the environment just before a frame is processed
ZD: 14203
==== CL 14326 ====
@FIX: make appropriate invocation of approvemodify (qb_approvemodify() perl routine) for Custom Policy
ZD: 14173
JIRA: QUBE-1082
==== CL 14320 ====
@FIX: catch case in checkUserPermission where traceback error "e" is not defined and an attempt is made to report the error message - occurs when user running the script is not a qube admin
==== CL 14305 ====
@TWEAK: print queuing policy (Internal or custom/Perl) message to supelog
==== CL 14273 ====
@FIX: properly report back failing status when an regex_error is matched early on, but then not found in the last pass through the logs.
==== CL 14207 ====
@FIX: log sections that match an error regex from before an auto-retry are being scanned and matching for errors; now either "'qube! - retry/requeue" or "auto-retry" messages trigger a reset
==== CL 14204 ====
@NEW: a script and modules to sync external 3rd-party license server counts with Qube's global resources
@NEW: first external license server modules are for FLEXlm and sesinetd servers
==== CL 14191 ====
@NEW: add path translation to all python-based loadOnce jobtypes
==== CL 14162 ====
@FIX: issue where the supervisor, when starting secondary instances for a job, can preempt more instances than necessary-- i.e., preempt more instances than there are agenda items for the job.
ZD: 13969
JIRA: QUBE-1007
==== CL 14064 ====
@FIX: issue where global time-based callbacks (i.e., "dummy-time-self" callbacks) sometimes not triggering
ZD 13366
JIRA: QUBE-807
==== CL 13971 ====
@CHANGE: add job "name" and "lastupdate" columns to be added at time of job ID creation (available while job is still in "registering" state).