Message-ID: <1701548249.8241.1711635459563.JavaMail.confluence@host3.pipelinefx.com> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_8240_1040941473.1711635459563" ------=_Part_8240_1040941473.1711635459563 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
################################################################= ##############
@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= p>
* 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=
p>
* 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