==== CL 12442 ====
@FIX: Fixed a corner-case MySQL permission problem with OSX/Linux supervisor and the qube_readonly user.
Fixed by adding a "GRANT SELECT" with an explicit hostname (fetched via
"SELECT @@hostname"), as in:
GRANT SELECT ON *.* TO 'qube_readonly'@'mysqlserverhostname'
JIRA: QUBE-438
==== CL 12358 ====
@FIX:Fixed example python scripts so import of qb module will work in most cases.
==== CL 12347 ====
@FIX: pyCmd* jobtypes report all subsequent frames as failing when a 'regex_error' is matched and a frame is marked as failed
==== CL 12339 ====
@FIX: fixed inaccurate worker host memory reporting on Windows platforms
ZD: 11367
==== CL 12333 ====
@FIX: worker shutdown code (QbWorker::hostShutdown() and sendHostReport()) will now give up a lot quicker when being unable to contact the supervisor, instead of retrying for a long time.
==== CL 12322 ====
@FIX: issue where job instances don't terminate properly when very early kill/interrupt orders come in.
Sometimes interrupts and kills can come in before the worker has a chance to properly complete the launching process of the proxy.exe process and its main thread, causing unexpected behavior, such as a never-dying job instance.
ZD: 11409
==== CL 12315 ====
@FIX: bug in initialization code of the QbJob class that messed up comparisons of jobs when sorting, which, among other things, prevented FIFO/FCFS ordering to be compromised. Now FIFO dispatching behavior should be more closely followed by jobs of equal priority (although not 100% strictly, due to the nature of the multithreaded architecture of the supervisor).
ZD: 11259
@INTERNAL TWEAK: added more debugging code to QbSupervisorQueue module.
==== CL 12311 ====
@FIX: adding in ubuntu support: use bash explicitly rather than sh, specify 'awk' in location found on all OS's
==== CL 12306 ====
@FIX: issue where auto-expanded subjobs (instances) don't inherit the "retrysubjob" value set in the parent job, causing them NOT to auto-retry properly on failure.
ZD: 11292
==== CL 12298 ====
@FIX: Python API routines, such as qb.retrywork(), expecting workID as input would behave erroneously (such as retrying ALL agenda items on ALL jobs) when input a subjobID instead. Vice versa for routines expecting subjobIDs, such as qb.retry().
These
ZD: 11372
==== CL 12295 ====
@NEW: add support for new 'exiting' status
==== CL 12272 ====
@FIX: unreliable behavior when frequently modifying "cpus" of jobs up and down.
ZD: 11288
==== CL 12257 ====
@FIX: bug where auto-expand subjobs are incorrectly auto-retired, and in turn caused them NOT to expand any more.
ZD: 11217
==== CL 12255 ====
@FIX: issue where, if some intermediate job processes crash and die unexpectedly, other job processes may be missed by the cleanup code and left behind as zombies.
ZD: 11236
==== CL 12250 ====
@FIX: WorkerConfigFile makes a better effort at finding the worker config file, previously would save to default location when the file is actually in a non-default location as specified by supervisor_worker_configfile.
==== CL 12237 ====
@FIX: avoid inserting duplicated values into the 'outputPaths' for a frame when retried
==== CL 12232 ====
@FIX: "UnboundLocalError: local variable 'qb' referenced before assignment" - issue experienced by single customer on linux, re-importing qb module in main() resolves the issue. ZD# 11218
==== CL 12230 ====
@FIX: additional fixes to remedy "retrywork" issue with maya (and possibly other Perl-API based) jobs. See also the previous CL12228
==== CL 12228 ====
@FIX: automatic retry of agenda via "retrywork" not working properly in perl-based backends.
ZD: 11167
==== CL 12226 ====
@FIX:Fix issue where job_cleanup script would fail if run on a supervisor that did not have the MySQLdb python module installed.
==== CL 12219 ====
@FIX: "sre_constants.error: bogus escape (end of line)" - python-based jobs can crash on Windows at startup if path wrapped in QB_CONVERT_PATH() ends with a fwd-slash and has being converted to a back-slash
==== CL 12177 ====
@FIX: Additional changes to support proper Windows privilege enabling, added in CL12176
==== CL 12176 ====
@FIX: Add call to Windows' AdjustTokenPrivileges() to explicitly enabled required privileges before launching job instance (proxy) process
==== CL 12098 ====
@FIX: support negative frame range in QB_* token parsing
==== CL 12082 ====
@FIX: issue where "modify"-ing the "cpus" value of a running job may incorrectly retire more instances than asked for.
This was due to race conditions of supe threads, and in extreme cases, was
prematurely retire-ing ALL instances of a job while there are still pending
agendas, resulting in the job's instances to be all "complete" but the job
itself to become "failed" since there are still pending agendas.
ZD: 10868
==== CL 12065 ====
@INTERNAL TWEAK: added/modified/corrected comments and symbol names for readability