Message-ID: <538848876.8849.1711703815439.JavaMail.confluence@host3.pipelinefx.com> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_8848_1974127518.1711703815439" ------=_Part_8848_1974127518.1711703815439 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html Qube 6.9 complete release notes

Qube 6.9 complete release notes

################################################################= ##############
@RELEASE: 6.9-2b
#################################= #############################################

@SUMMARY: This is a supervisor-only patch release of 6.9-2 that includes= the
following key fixes.

=3D=3D=3D=3D CL 18910 =3D=3D=3D=3D
@INTERNAL FIX: supervisor patche= s to help cut down on the number of threads,
and reduce chances of rep= eated worker rejections on some farms due to
race-conditions/timing is= sues.

ZD17713

=3D=3D=3D=3D CL 18822 =3D=3D=3D=3D
@FIX: a bug in the startHost() d= ispatch routine causing the supervisor NOT to
always dispatch jobs to = workers when they became available.

ZD: 17713

 

########################################################################= #######

@RELEASE: 6.9-2a

########################################################################= ######

@SUMMARY: 6.9-2a is a patch release of 6.9-2, and includes the following= fixes.

=3D=3D=3D=3D CL 18717 =3D=3D=3D=3D
@FIX: Job instances can become u= nkill-able with QB_PREEMPT_MODE_FAIL internal status

JIRA: QUBE-2819

=3D=3D=3D=3D CL 18351 =3D=3D=3D=3D
@CHANGE: background helper threa= d improvements

* limit the number of workers that are potentially recontacted by the ba= ckground helper routine to 50 per iteration.

* background thread exits and refreshes after running for approximately = 1 hour, as opposed to 24 hours

ZD: 17124

=3D=3D=3D=3D CL 18340 =3D=3D=3D=3D
@FIX: allow special characters i= n job name field at submissions

JIRA: QUBE-2748

=3D=3D=3D=3D CL 18324 =3D=3D=3D=3D
@CHANGE: output of "qbadmin= s -config" and "qbadmin w -config hostname" now sorted alph= abetically.

JIRA: QUBE-2654

=3D=3D=3D=3D CL 18285 =3D=3D=3D=3D
@FIX: add better error-checks in= cmdrange jobtype's log-parsing code, in case the log file is not readable.=

In some situations, fseek() was causing crashes in the parseFileStream()= routine.

ZD: 17442

=3D=3D=3D=3D CL 18221 =3D=3D=3D=3D
@FIX: prevent "host.process= ors" to be unset when jobs are modified.

JIRA: QUBE-2649

=3D=3D=3D=3D CL 18157 =3D=3D=3D=3D
@FIX: shortened the timeout for = "qbreportwork" when it reports a "failed" work that has= migrate_on_frame_retry from 600 seconds to 20.

This was causing long 10-minute pauses on the job instance when a frame<= br />fails after exhausting all of its retry counts.

Original change was made in CL17206, for QUBE-2202/ZD16553.

ZD: 17447

=3D=3D=3D=3D CL 18147 =3D=3D=3D=3D
@FIX: Windows worker wouldn't pr= operly release automounted drives at the end of running a job instance

ZD: 17400

=3D=3D=3D=3D CL 18001 =3D=3D=3D=3D
@FIX: Pytnon API's qb.ping(asDic= t=3DTrue) was broken when metered licensing was unauthorized, because of th= e minus sign

=3D=3D=3D=3D CL 17889 =3D=3D=3D=3D
@CHANGE: job queries requesting = for subjob and/or work details now must explicitly provide job IDs.

Both qbjobinfo() C++ and qb.jobinfo() Python APIs now reject such submis= sions and return an error.

For example, the Python call "qb.jobinfo(subjobs=3DTrue)" will= raise a runtime exception. It must be now called like "qb.jobinfo(sub= jobs=3DTrue, id=3D12345)" or "qb.jobinfo(subjobs=3DTrue, id=3D[12= 34,5678])"

JIRA: QUBE-244

=3D=3D=3D=3D CL 17863 =3D=3D=3D=3D
@FIX: Qube language callback com= mand "mail-status" wasn't working properly, setting the smtp &quo= t;TO" field to an incorrect string.

=3D=3D=3D=3D CL 17858 =3D=3D=3D=3D
@FIX: qb.deleteworkerproperties(= ) and qb.deleteworkerresources() fn should return an error when used with t= he wrong 2nd arg (must be a list)

ZD: 16932
JIRA: QUBE-2381

=3D=3D=3D=3D CL 17856 =3D=3D=3D=3D
@FIX: misleading "invalid k= ey" error message in supelog when supervisor_max_metered_licenses set = to 0

JIRA: QUBE-2397

=3D=3D=3D=3D CL 17797 =3D=3D=3D=3D
@FIX: ignore any ethernet interf= ace with "virutal" in its description when detecting the primary = MAC address on Windows.

ZD 17072

=3D=3D=3D=3D CL 17790 =3D=3D=3D=3D
@FIX: issue where the background= helper thread frequently sends 2 or more update requests (QB_MESSAGE_REQUE= ST_UPDATE) to a single "questionable" worker (i.e., one that has = missed enough heartbeats, and potentially down) at once.

ZD: 17124

=3D=3D=3D=3D CL 17735 =3D=3D=3D=3D
@FIX: badlogin jobs can't be ret= ried or killed (previously fixed in CL15011, but regressed)

JIRA: QUBE-642
ZD: 12699, 17010

=3D=3D=3D=3D CL 16491 =3D=3D=3D=3D
@NOTES:Add support for AfterEffe= cts point release scheme (2015.3)

 

########################################################################= ######
@RELEASE: 6.9-2

########################################################################= ######

 

@SUMMARY: This is a maintenance release of 6.9, and includes a few fixes=
and improvements to 6.9-1. Recommended upgrade for all 6.9 customers= .

 

########################################################################= ######

=3D=3D=3D=3D CL 17763 =3D=3D=3D=3D
Supervisor and worker now use co= rrect startup scripts for CentOS 7+.

=3D=3D=3D=3D CL 17735 =3D=3D=3D=3D
@FIX: badlogin jobs can't be ret= ried or killed (previously fixed in CL15011, but regressed)

JIRA: QUBE-642
ZD: 12699, 17010

 

 

########################################################################= ######

@RELEASE: 6.9-1

########################################################################= ######

 

@SUMMARY: This is a maintenance release of 6.9, and includes a number of= fixes
and improvements to 6.9-0. Recommended upgrade for all 6.9 cus= tomers.

 

########################################################################= ######


=3D=3D=3D=3D CL 17696 =3D=3D=3D=3D
@UPDATE: add explanation f= or "deferTableCreation" to the python qb.submit() API routine.

JIRA: QUBE-2400

=3D=3D=3D=3D CL 17692 =3D=3D=3D=3D
@FIX: another memory leak plugge= d in the startHost()-related routine, startQualifiedJobsOnHost(). This was = causing successful itereations of startHost() (i.e., an instance was dispat= ched to a worker) to cause memory bloats. Among other places, it was affect= ing the background helper thread (when it does the "requeuing host&quo= t; routine.

JIRA: QUBE-2382

=3D=3D=3D=3D CL 17649 =3D=3D=3D=3D
@FIX: memory leak in preemption = code, especially when preemption policy is set to passive or is disabled by= the algorithm.

QUBE: JIRA-2382

=3D=3D=3D=3D CL 17634 =3D=3D=3D=3D
@FIX: memory leak in one of the = host-triggered dispatch routines
startQualifiedJobsOnHost(), which is = called from startHost().

Among other things, this was bloating the memory usage inside the helper=
routine running in a background thread/process (cleanermain()).

JIRA: QUBE-2382
ZD: 16952

=3D=3D=3D=3D CL 17610 =3D=3D=3D=3D
@FIX: memory corruption that wou= ld cause python or perl to crash when the function was called inside jobs.<= /p>

JIRA: QUBE-2389

=3D=3D=3D=3D CL 17595 =3D=3D=3D=3D
@FIX: fixed memory leak in QbPac= k::store() and storeXML() methods, which were causing, among other things, = supervisor threads to bloat when processing large job submissions

JIRA: QUBE-2382

=3D=3D=3D=3D CL 17594 =3D=3D=3D=3D
@FIX: plugged a potential memory= leak in QbDaemon communication code, affecting all server (supervisor, wor= ker) programs

JIRA: QUBE-2382

=3D=3D=3D=3D CL 17593 =3D=3D=3D=3D
@FIX: plugged memory leak in dis= patch code

JIRA: QUBE-2382

=3D=3D=3D=3D CL 17592 =3D=3D=3D=3D
@FIX: plugged potential memory l= eak in user permission-check routine, specifically in the group-access chec= k code

JIRA: QUBE-2382

=3D=3D=3D=3D CL 17566 =3D=3D=3D=3D
@NEW: qbwrk.conf loading optimiz= ation (and thus "qbadmin w -reconfig" speed up) by explictly list= ing template names and non-existing hostnames in the new [global_config] se= ction

* added [global_config] section to the qbwrk.conf file, and allow new co= nfig parameters "templates" to list all qbwrk.conf template secti= on names, and "non_existent" to list all non-existent hostnames

* supe skips ip-address resolution for all section names included in &qu= ot;templates" and "non_existent", and all reserved names, i.= e.: "global_config", "default", "linux", &quo= t;osx", and "winnt", thus speeding up the loading of qbwrk.c= onf file, which in turn speeds up supervisor boot time and "qbadmin w = -reconfig" operation.

JIRA: QUBE-2346

=3D=3D=3D=3D CL 17540 =3D=3D=3D=3D
@CHANGE: removed unnecessary sub= mit-time check/rejection of omithosts and omitgroups.

ZD: 16907, 16908
JIRA: QUBE-2366

=3D=3D=3D=3D CL 17449 =3D=3D=3D=3D
@FIX: directory deletion during = log cleanup can fail if the supervisor is updating the job history file at = the same time

=3D=3D=3D=3D CL 17435 =3D=3D=3D=3D
@FIX: supervisor process handlin= g a qbping request should always reread the license file before replying

There was a code path that instructs the supe thread to force-read thelicense file, but the read was not happening under certain conditions; = the
code was returning the old cached data if available, or the defaul= t count
of 2 if the cache isn't available.

* add a few more informational lines to print to the supelog at license<= br /> re-reading.

JIRA: QUBE-2317

=3D=3D=3D=3D CL 17422 =3D=3D=3D=3D
@FIX: make formatting and object= instantiation compatible with Python 2.6

=3D=3D=3D=3D CL 17416 =3D=3D=3D=3D
@FIX: remove unnecessary error m= essage in the schema upgrade routine

JIRA: QUBE-2283

=3D=3D=3D=3D CL 17414 =3D=3D=3D=3D
@CHANGE: Add more text to descri= be the subtle yet significant difference between "retry" and &quo= t;requeue" Python API routines

JIRA: QUBE-2049

=3D=3D=3D=3D CL 17403 =3D=3D=3D=3D
@FIX: jobs with status "reg= istering" appears when submissions are rejected due to incorrect requi= rements specifications

ZD: 16408
JIRA: QUBE-2034

=3D=3D=3D=3D CL 17402 =3D=3D=3D=3D
@FIX: intermittent bug where som= e supe threads won't properly read the supervisor license key from qb.lic

* add warning message to print to supelog when the license file reader returns zero-length data

ZD: 16828
JIRA: QUBE-2317

=3D=3D=3D=3D CL 17390 =3D=3D=3D=3D
@FIX: post-flight should only be= run when qbreportwork() is invoked with an agenda-item with terminal-state=

JIRA: QUBE-2032
ZD: 16412

=3D=3D=3D=3D CL 17376 =3D=3D=3D=3D
@FIX: Triggers incorrectly execu= ting multiple times

When a composite (i.e, using && or ||) trigger is specified for = a job's callback, such as "done-job-job1 && done-job-job2"= ;,
the callback would erroneously get run multiple times.

ZD: 16282
JIRA: QUBE-1881

=3D=3D=3D=3D CL 17369 =3D=3D=3D=3D
@FIX: issue introduced in 6.9 wh= ere requestwork() jobtype backend routine will crash when frame padding is = 40 or greater.

Python jobtype backend, in particular, was found to crash during a call = to
the API routine qb.requestwork(), with a "*** stack smashing d= etected ***:"
error message and a backtrace.

ZD: 16759
JIRA: QUBE-2318

=3D=3D=3D=3D CL 17290 =3D=3D=3D=3D
@TWEAK: license-reading routine = prints the total license count to the supelog

JIRA: QUBE-2003

=3D=3D=3D=3D CL 17289 =3D=3D=3D=3D
@TWEAK: "ping" handler= to print out more info to supelog

Every "qbping" will print out something like the following sup= elog now:

[Nov 18, 2016 16:25:55] shinyambp[11662]: INFO: responded to ping reques= t from [127.0.0.1]: 6.9-0 bld-custom osx - - host - 0/11 unlimited licenses= (metered=3D0/0) - mode=3D0 (0)

JIRA: QUBE-2002

=3D=3D=3D=3D CL 17231 =3D=3D=3D=3D
@FIX: disabled verbose option fo= r logging libcurl actions

=3D=3D=3D=3D CL 17208 =3D=3D=3D=3D
@CHANGE: Popluate the subjob (in= stance) objects with more data (like status), and not just the IDs, when su= bjob info is requested via "qbhostinfo" (qb.hostinfo(subjobs=3DTr= ue) for python API)

Previously, only jobid, subid, and host info (name, address, macaddress)=
were filled. Now, things like "status", "timestart&quo= t;, "allocations",
etc. are properly filled in.

JIRA: QUBE-2073
ZD: 16541

=3D=3D=3D=3D CL 17206 =3D=3D=3D=3D
@FIX: When "migrate_on_fram= e_retry" job flag is set, prevent backend from doing further processin= g (especially another requestwork()) after a work failed

This was causing race-conditions that will get agenda items to be stuck = in
"retrying" state, while there are no instances processing= them.

Now the reportwork() API routine is modified so that if it's invoked to<= br />report that a work "failed", and the "migrate_on_frame_= retry" is set on the
job, it will stop processing (does a long sl= eep), and let the worker/proxy
do the process clean up.

JIRA: QUBE-2202
ZD: 16553

=3D=3D=3D=3D CL 17186 =3D=3D=3D=3D
@FIX: "VirtualBox Host-Only= Ethernet Adapter" now when daemons (supe, worker) try to pick a prima= ry mac address

JIRA: QUBE-2149
ZD: 16561

=3D=3D=3D=3D CL 17182 =3D=3D=3D=3D
@CHANGE: all classes that inheri= t from QbObject print as a regular dictionary, no longer have a __repr__ wh= ich prints the job data as a single flat string
@NEW: add qb.validatej= ob() function to python API, help find malformed jobs that crash the user i= nterfaces

=3D=3D=3D=3D CL 17141 =3D=3D=3D=3D
@FIX: Any job submitted from wit= hin a running job picks up the pgrp of the submitting job

By design, if the submission environment has QBGRPID and QBJOBID set, th= e
API's submission routine will set the job's pgrp and pid, respective= ly to
the values specified in the environment variables.

One couldn't override this "inheritance" behavior even by expl= icitly
specifying "pgrp" or "pid" in the job being= submitted, for instance with
the "-pgrp" command-line optio= n of qbsub.

Fixed, so that setting "pgrp" to 0 on submission means that th= e job should
generate its own pgrp instead of inheriting it from the e= nvironment.

JIRA: QUBE-2141
ZD: 16545

=3D=3D=3D=3D CL 17101 =3D=3D=3D=3D
@NEW: add "-dying" and= "-registering" options to qbjobs.
@CHANGE: also add dying a= nd registering jobs to the "-active" filter.

JIRA: QUBE-2091
ZD: 16469

=3D=3D=3D=3D CL 17083 =3D=3D=3D=3D
@FIX: Python API: qbping(asDict= =3DTrue) crashes when used against older (pre-6.9) supe

Among other things, this was causing WV to crash and AV to note an
= exception (but not crash) when starting up with an older supervisro.

JIRA: QUBE-2084

 

########################################################################= ######

@RELEASE: 6.9-0

########################################################################= ######

=3D=3D=3D=3D CL 16804 =3D=3D=3D=3D
@TWEAK: added code to print what= operation was requested, when printing out "permission granted to use= r..."

=3D=3D=3D=3D CL 16776 =3D=3D=3D=3D
@FIX: Python API should handle e= xception for when gethostbyname() doesn't work in mysqlConnect

JIRA: QUBE-1965

=3D=3D=3D=3D CL 16770 =3D=3D=3D=3D
@CHANGE: Ensure that the pending= reasons returned by qb.hostorder (or qbhostorder command) take metered lic= ensing into account

JIRA: QUBE-1986

=3D=3D=3D=3D CL 16696 =3D=3D=3D=3D
@NEW: add supervisor_max_metered= _licenses support to qb.conf, which enables site-admins to customize the ef= fective limit of metered licenses that can be used at any given time.

This number must be smaller than the metered account's limit, or it will= be
capped at the account limit.

Setting this to 0 effectively disables metered licensing, while setting = it
to -1 (default), allows usage up to the metered account's limit .

JIRA: QUBE-1867

=3D=3D=3D=3D CL 16668 =3D=3D=3D=3D
@NEW: made available some frame-= padding related environment variables during the execution of job instances= and pre/postflights:

QB_FRAME_PADDING
QB_PADDED_FRAME_NUMBER
QB_PADDED_FRAME_START<= br />QB_PADDED_FRAME_END
QB_PADDED_FRAME_STEP

JIRA: QUBE-1841

=3D=3D=3D=3D CL 16665 =3D=3D=3D=3D
@CHANGE: All "subjob" = sections in qbsummary output show "instance" in the title

@CHANGE: renamed "*vs" options to "*vi" (such as &qu= ot;pvi" or "cvi"). For
compatibility, the older names s= till work, just not advertised in the
"help" output

@FIX: const-ness of QbString::replacevalue() method

JIRA: QUBE-1617

=3D=3D=3D=3D CL 16643 =3D=3D=3D=3D
@FIX: added dependency on mysql-= libs (or mariadb-libs) to the supervisor RPM

JIRA: QUBE-1784

=3D=3D=3D=3D CL 16642 =3D=3D=3D=3D
@CHANGE: automatic capping of pr= iorities to supervisor_highest_user_priority

if an ordinary (non-admin) user tries to submit jobs at a higher priorit= y (i.e. lower numerical value) than supervisor_highest_user_priority, the j= obs will be accepted but with the priority automatically (and silently, exc= ept for a WARNING message in the supelog) capped at supervisor_highest_user= _priority

JIRA: QUBE-1804

=3D=3D=3D=3D CL 16629 =3D=3D=3D=3D
@CHANGE: "kill work" o= n a running agenda item will now put the instance processing the agenda ite= m back to "pending", instead of also killing it.

JIRA: QUBE-627

=3D=3D=3D=3D CL 16628 =3D=3D=3D=3D
@FIX: "qb_default_string()&= quot; warning printed during linux qube-core installation

Corrected code so that warnings like the following won't print any more:=

WARNING: qb_default_string() unknown value[1001]
WARNING: qb_defaul= t_string() unknown value[1002]

JIRA: QUBE-1894

=3D=3D=3D=3D CL 16602 =3D=3D=3D=3D
@FIX: misleading database name p= rinted in error handler for MySQL stored procedures PFX_CALC_CPU_TIME() and= PFX_CALC_AVG_WORK_TIME(); "ERROR: TABLE NOT FOUND IN DB pfx_dw.<ac= tual_database_name>"

=3D=3D=3D=3D CL 16517 =3D=3D=3D=3D
@FIX: C4D appFinder jobs don't a= pply path translation properly on Windows, backslashes are converted too ea= rly

=3D=3D=3D=3D CL 16407 =3D=3D=3D=3D
@NEW: add SMTP Auth support over= SSL and TLS connections.

@CHANGE:

* add new mail config qb.conf parameters: mail_user, mail_password, mail= _connection_type

* modified mail_port to be 0 by default, which means use the standard po= rt depending on connection type: 25, 465 (SSL), or 587 (TLS)

=3D=3D=3D=3D CL 16389 =3D=3D=3D=3D
@FIX: calls to qb.reportwork tha= t happen very close together can cause the supervisor to deadlock on a sing= le frame's status

=3D=3D=3D=3D CL 16379 =3D=3D=3D=3D
@FIX: case-insensitive parsing o= f template names in qbwrk.conf when listed for template inheritance

The following now works (hostA will be in the "big" group):

[BigNode]
worker_groups =3D "big"

[hostA] : bignode


JIRA: QUBE-1809

=3D=3D=3D=3D CL 16369 =3D=3D=3D=3D
@FIX: don't mark the instance as= failed if there is one more command to run, the child process has already = exited, and the command is sys.exit(0); happens when maya is shut down with= its native quit() function.

=3D=3D=3D=3D CL 16338 =3D=3D=3D=3D
@CHANGE: database checks script = splits logging levels between stdout and stderr

=3D=3D=3D=3D CL 16308 =3D=3D=3D=3D
@CHANGE: fixed every reference t= o "subjob" to "instance"

JIRA: QUBE-1768

=3D=3D=3D=3D CL 16303 =3D=3D=3D=3D
@CHANGE: add supervisor mode set= tings (such as "disable_metered") to display in qbping output, an= d be returned in the qb.ping(asDict=3DTrue) Pyhon API invocation

JIRA: QUBE-1759

=3D=3D=3D=3D CL 16286 =3D=3D=3D=3D
@FIX: checkDiskUsage fails when = --mysql option is used and root can't authenticate

=3D=3D=3D=3D CL 16269 =3D=3D=3D=3D
@FIX: properly support timeouts = on socket connections

@NEW: add "-timeout N" option to the qbping command, and the A= PI qbping(), qbworkerping(), and qbhostping() API routines now honor the ti= meout set via "qbsettimeout()".

QUBE-1746

=3D=3D=3D=3D CL 16266 =3D=3D=3D=3D
@NEW: a new command-line utility= for performing both database health checks and data integrity checks

=3D=3D=3D=3D CL 16247 =3D=3D=3D=3D
@FIX: fixed qb.workid() in callb= acks to return the correct workid of the current callback context (it had b= een always returning None)

Also changed qb.jobstatus(), workstatus(), and subjobstatus() so that, i= f
invoked in a callback giving no args (like a jobid and workid or sub= jobid),
they return the status of the respective thing (job, work, or = subjob) of
the current callback context.

JIRA: QUBE-1763
ZD: 16105

=3D=3D=3D=3D CL 16235 =3D=3D=3D=3D
@FIX: a problem with the filteri= ng added to avoid jobs with an ID of 0, in CL15821

This was causing preemption to not function in many cases.

ZD: 16006

=3D=3D=3D=3D CL 16229 =3D=3D=3D=3D
@FIX: On Windows, daemons (supe,= worker) now ignore VMWare Virtual Ethernet Adapters when trying to pick a = primary mac address (QbConnection.cpp) for the host, which is used to uniqu= ely identify hosts

ZD: 14481

=3D=3D=3D=3D CL 16214 =3D=3D=3D=3D
@FIX: aerender AppFinder manglin= g first path conversion on Windows when using UNC

=3D=3D=3D=3D CL 16177 =3D=3D=3D=3D
@NEW: add metered_max and metere= d_used fields to the dict returned by qb.ping(asDict=3DTrue)

JIRA: QUBE-1745

=3D=3D=3D=3D CL 16145 =3D=3D=3D=3D
@NEW: add support for Metered Li= censing

=3D=3D=3D=3D CL 16139 =3D=3D=3D=3D
@FIX: Fixed the duplicate instan= ce of "stop_activity" (i.e., it was listed twice), to "enfor= ce_password" in qb_supervisor_mode_flag_string(), which was causing st= ring to int conversion of the mode flags to be incorrect

=3D=3D=3D=3D CL 16064 =3D=3D=3D=3D
@FIX: when job 'dev' attribute T= rue, printing the job package with regex_errors causes the logParser to gen= erate a false positive for the regex_errors match

=3D=3D=3D=3D CL 16049 =3D=3D=3D=3D
@NEW: add 'outputPath match requ= ired' to python-based jobs, frame/work is failed if no match is found

=3D=3D=3D=3D CL 15974 =3D=3D=3D=3D
@CHANGE: add support for "-= conf PATH" to specify qb.conf for worker (phase 1)

QUBE-253

=3D=3D=3D=3D CL 15970 =3D=3D=3D=3D
@FIX: modified (un)install_super= visor scripts to properly support CentOS/RHEL 7+ with mariadb and systemd.<= /p>

Also modified configure_mysql script (for Linux) to be able to detect th= e
version of mysql installed on the system, even when the server is no= t
running

QUBE-1663

=3D=3D=3D=3D CL 15964 =3D=3D=3D=3D
@NEW: changes to code that gener= ates/modifies my.cnf

@CHANGE: some refactoring of the configure_mysql script (run on linux on=
(un)installation of the supervisor to modify my.cnf.

@NEW: make sure "default-storage-engine=3DMyISAM" is set on Li= nux too

@NEW: add "query_cache_type=3D0" to my.cnf on all platforms

JIRA: QUBE-1663

=3D=3D=3D=3D CL 15960 =3D=3D=3D=3D
@FIX: jobs submitted with pgrp s= et to a (null) string end up having a pgrp of 0

JIRA: QUBE-1668

=3D=3D=3D=3D CL 15957 =3D=3D=3D=3D
@FIX: use of single-quotes in jo= b dependency "info-*" syntax results in hung job instances

JIRA: QUBE-1571

=3D=3D=3D=3D CL 15947 =3D=3D=3D=3D
@CHANGE: adding "default-st= orage-engine=3DMYISAM" to the my.cnf generated for Linux/OSX supe inst= allations

JIRA: QUBE-1663

=3D=3D=3D=3D CL 15936 =3D=3D=3D=3D
@CHANGE: add InnoDB to MyISAM co= nversion code in upgrade_supervisor program for all "qube" tables=

JIRA: QUBE-1664

=3D=3D=3D=3D CL 15909 =3D=3D=3D=3D
@CHANGE: change flaw in auto-wra= ngling logic in which it sometimes won't detect a bad worker, and allows it= to fail many job agendas.

When a single job instance/worker has failed all of its assigned frames = (at
least aw_activation_work_count frames) for a job, while other work= ers are
still processing their first frame (i.e., no other worker/inst= ance has
finished a frame), the system deems this worker "bad&quo= t;, locks it, and
migrates the failed frames and instance, and notify = the admin.

JIRA: QUBE-1475
ZD: 15219

=3D=3D=3D=3D CL 15865 =3D=3D=3D=3D
@CHANGE: Made section headers (s= uch as "[default]" or "[node[001-199]]") case-insensiti= ve in config files such as qbwrk.conf

JIRA: QUBE-1356

=3D=3D=3D=3D CL 15821 =3D=3D=3D=3D
@FIX: add code to the DB routine= s and doPreemption() routine to silently ignore job records with job ID of = 0 (likely due to corrupt DB records), which was spewing out many warning me= ssages into the supelog

ZD:15739

=3D=3D=3D=3D CL 15809 =3D=3D=3D=3D
@FIX: backslashed characters in = VRED jobs get treated as escape characters

=3D=3D=3D=3D CL 15700 =3D=3D=3D=3D
@NEW: add "--conf filename&= quot; option to supervisor to specify an alternate location and name for th= e qb.conf file

JIRA: QUBE-253

=3D=3D=3D=3D CL 15673 =3D=3D=3D=3D
@FIX: orphaned job processes lef= t behind on Windows workers, especially when the proxy.exe program dies une= xpectedly

ZD: 15518

=3D=3D=3D=3D CL 15653 =3D=3D=3D=3D
@FIX: setting jobss "pgrp&q= uot; value prior to submission is ignored for all but the first job when su= bmitting a list of jobs via a single call to the qbsubmit() API routine

JIRA: QUBE-1536
ZD: 15528

=3D=3D=3D=3D CL 15650 =3D=3D=3D=3D
@FIX: Explicitly setting "h= ost.memory" in worker_resources broken on Linux

ZD: 15505
JIRA: QUBE-1531

=3D=3D=3D=3D CL 15642 =3D=3D=3D=3D
@FIX: Unix (Linux/OSX) workers, = when running a cleanup process for a teminating job instance (via removeJob= ()), would sometimes inadvertently kill processes belonging to other job in= stances, due to process IDs once owned by the terminating job being reused = by the system.

ZD: 15548

=3D=3D=3D=3D CL 15567 =3D=3D=3D=3D
@FIX: supervisor_default_max_cpu= s value was not being applied properly

ZD: 15503
JIRA: QUBE-1528

=3D=3D=3D=3D CL 15560 =3D=3D=3D=3D
@CHANGE: "modify" oper= ation will print, into the supelog and the job's .hst file, the values of t= he newly modified parameters

JIRA: QUBE-1318
ZD: 14979

=3D=3D=3D=3D CL 15531 =3D=3D=3D=3D
@NEW: add r= un_program_and_convert_encoding.pl script, which is a wrapper to run an= y given program and convert its stdout from and to specified encodings (lik= e UTF-16le to UTF-8).

Added to support 3dsmax batch (i.e., "cmdrange") submissions.<= /p>

JIRA: QUBE-1210

=3D=3D=3D=3D CL 15462 =3D=3D=3D=3D
@FIX: removed submission-time ch= eck for jobtype existence on the farm, as it was causing false negatives in= certain cases and disallowing submissions

ZD: 15328, 15831

=3D=3D=3D=3D CL 15423 =3D=3D=3D=3D
@FIX: KeyError: "regex_outp= utPaths" is raised when min file size check is specifiec, but no outpu= tPath regular expression is defined

=3D=3D=3D=3D CL 15384 =3D=3D=3D=3D
@NEW: add Mac OS X 10.11, aka &q= uot;El Capitan" support

=3D=3D=3D=3D CL 15380 =3D=3D=3D=3D
@CHANGE: modification now allowe= d on "done" jobs

ZD: 15281

=3D=3D=3D=3D CL 15351 =3D=3D=3D=3D
@FIX: Windows issue where wirele= ss network interfaces are ignored when licenses are verified, causing licen= se keys bound to such interfaces to not work.

=3D=3D=3D=3D CL 15347 =3D=3D=3D=3D
@FIX: Windows issue where wirele= ss network interfaces are ignored when licenses are verified, causing licen= se keys bound to such interfaces to not work.

=3D=3D=3D=3D CL 15324 =3D=3D=3D=3D
@CHANGE: supervisor on Win32 to = build against Perl 5.8 (upgraded from 5.6) to avoid build issues on new bui= ld platform.

------=_Part_8848_1974127518.1711703815439--