Message-ID: <1858888116.8463.1711664960520.JavaMail.confluence@host3.pipelinefx.com> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_8462_2064286143.1711664960520" ------=_Part_8462_2064286143.1711664960520 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
#################################################
@RELEASE: 6.5-3
#################################################
=3D=3D=3D=3D CL 12442 =3D=3D=3D=3D
@FIX: Fixed a corner-case MySQL permission problem with OSX/Linux superv= isor and the qube_readonly user.
Fixed by adding a "GRANT SELECT" with an explicit hostname (fe=
tched via
"SELECT @@hostname"), as in:
GRANT SELECT ON *.* TO 'qube_readonly'@'mysqlserverhostname'
JIRA: QUBE-438
=3D=3D=3D=3D CL 12358 =3D=3D=3D=3D
@FIX:Fixed example python script=
s so import of qb module will work in most cases.
=3D=3D=3D=3D CL 12347 =3D=3D=3D=3D
@FIX: pyCmd* jobtypes report all=
subsequent frames as failing when a 'regex_error' is matched and a frame i=
s marked as failed
=3D=3D=3D=3D CL 12339 =3D=3D=3D=3D
@FIX: fixed inaccurate worker ho=
st memory reporting on Windows platforms
ZD: 11367
=3D=3D=3D=3D CL 12333 =3D=3D=3D=3D
@FIX: worker shutdown code (QbWo=
rker::hostShutdown() and sendHostReport()) will now give up a lot quicker w=
hen being unable to contact the supervisor, instead of retrying for a long =
time.
=3D=3D=3D=3D CL 12322 =3D=3D=3D=3D
@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 chanc= e to properly complete the launching process of the proxy.exe process and i= ts main thread, causing unexpected behavior, such as a never-dying job inst= ance.
ZD: 11409
=3D=3D=3D=3D CL 12315 =3D=3D=3D=3D
@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 FI=
FO dispatching behavior should be more closely followed by jobs of equal pr=
iority (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.<= /p>
=3D=3D=3D=3D CL 12311 =3D=3D=3D=3D
@FIX: adding in ubuntu support: =
use bash explicitly rather than sh, specify 'awk' in location found on all =
OS's
=3D=3D=3D=3D CL 12306 =3D=3D=3D=3D
@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
=3D=3D=3D=3D CL 12298 =3D=3D=3D=3D
@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. V=
ice versa for routines expecting subjobIDs, such as qb.retry().
These<=
/p>
ZD: 11372
=3D=3D=3D=3D CL 12295 =3D=3D=3D=3D
@NEW: add support for new 'exiti=
ng' status
=3D=3D=3D=3D CL 12272 =3D=3D=3D=3D
@FIX: unreliable behavior when f=
requently modifying "cpus" of jobs up and down.
ZD: 11288
=3D=3D=3D=3D CL 12257 =3D=3D=3D=3D
@FIX: bug where auto-expand subj=
obs are incorrectly auto-retired, and in turn caused them NOT to expand any=
more.
ZD: 11217
=3D=3D=3D=3D CL 12255 =3D=3D=3D=3D
@FIX: issue where, if some inter=
mediate job processes crash and die unexpectedly, other job processes may b=
e missed by the cleanup code and left behind as zombies.
ZD: 11236
=3D=3D=3D=3D CL 12250 =3D=3D=3D=3D
@FIX: WorkerConfigFile makes a b=
etter effort at finding the worker config file, previously would save to de=
fault location when the file is actually in a non-default location as speci=
fied by supervisor_worker_configfile.
=3D=3D=3D=3D CL 12237 =3D=3D=3D=3D
@FIX: avoid inserting duplicated=
values into the 'outputPaths' for a frame when retried
=3D=3D=3D=3D CL 12232 =3D=3D=3D=3D
@FIX: "UnboundLocalError: l=
ocal variable 'qb' referenced before assignment" - issue experienced b=
y single customer on linux, re-importing qb module in main() resolves the i=
ssue. ZD# 11218
=3D=3D=3D=3D CL 12230 =3D=3D=3D=3D
@FIX: additional fixes to remedy=
"retrywork" issue with maya (and possibly other Perl-API based) =
jobs. See also the previous CL12228
=3D=3D=3D=3D CL 12228 =3D=3D=3D=3D
@FIX: automatic retry of agenda =
via "retrywork" not working properly in perl-based backends.
ZD: 11167
=3D=3D=3D=3D CL 12226 =3D=3D=3D=3D
@FIX:Fix issue where job_cleanup=
script would fail if run on a supervisor that did not have the MySQLdb pyt=
hon module installed.
=3D=3D=3D=3D CL 12219 =3D=3D=3D=3D
@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 h=
as being converted to a back-slash
=3D=3D=3D=3D CL 12177 =3D=3D=3D=3D
@FIX: Additional changes to supp=
ort proper Windows privilege enabling, added in CL12176
=3D=3D=3D=3D CL 12176 =3D=3D=3D=3D
@FIX: Add call to Windows' Adjus=
tTokenPrivileges() to explicitly enabled required privileges before launchi=
ng job instance (proxy) process
=3D=3D=3D=3D CL 12098 =3D=3D=3D=3D
@FIX: support negative frame ran=
ge in QB_* token parsing
=3D=3D=3D=3D CL 12082 =3D=3D=3D=3D
@FIX: issue where "modify&q=
uot;-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, w=
as
prematurely retire-ing ALL instances of a job while there are still=
pending
agendas, resulting in the job's instances to be all "com=
plete" but the job
itself to become "failed" since ther=
e are still pending agendas.
ZD: 10868
=3D=3D=3D=3D CL 12065 =3D=3D=3D=3D
@INTERNAL TWEAK: added/modified/=
corrected comments and symbol names for readability
#################################################
@RELEASE: 6.5-2
#################################################
=3D=3D=3D=3D CL 12016 =3D=3D=3D=3D
@FIX: worker and supervisor install do not register for all users on Win= dows
=3D=3D=3D=3D CL 12006 =3D=3D=3D=3D
@FIX: ERROR 1146 (42S02) at line=
87 in file: './create_job_fact.sql': Table 'pfx_stats.memusage' doesn't ex=
ist - swap order of table assignment and creation, some versions of MySQL a=
re error'ing
=3D=3D=3D=3D CL 11989 =3D=3D=3D=3D
@FIX: worker_drive_map and worke=
r_path_map not correctly saved via "Configure local host", format=
to match API updatelocalconfig expectations
=3D=3D=3D=3D CL 11987 =3D=3D=3D=3D
@FIX: localized the _user_duties=
and _prgp_duties IntHash variables to the queuereject() routine for thread=
-safety, from being data members of the supervisor class.
ZD: 10342
=3D=3D=3D=3D CL 11986 =3D=3D=3D=3D
@FIX: added code to appropriately handle timing issues where a command,<=
br />such as preemption, can be issued multiple times by different threads =
on
the same running subjob, leaving those jobs to be in odd states. On=
e common
symptom was seeing the "aberrant report" message in=
the supelog, and those
jobs getting stuck in the "running" =
state despite all the frames being 100%
done.
=3D=3D=3D=3D CL 11985 =3D=3D=3D=3D
@FIX: converseWorkerWithRetries() and converseSubSupervisorWithRetries()=
routines were fixed so that they properly return success when there a=
re no
communication errors. These routines were retrying when the serv=
er
responded with a rpy.tag() of QB_MESSAGE_ERROR, which doesn't mean =
there
was a communication error, but rather means that the server enco=
untered
some general internal error, causing unwanted retries.
ZD: 10527
=3D=3D=3D=3D CL 11982 =3D=3D=3D=3D
@FIX: contradictory job log entr=
ies saying a failed frame is being reported as complete when a few lines ag=
o it was actually (correctly) reported as failed.
=3D=3D=3D=3D CL 11980 =3D=3D=3D=3D
@FIX: QB_CONVERT_PATH() not gett=
ing evaluated when worker_path_map is undefined or empty
=3D=3D=3D=3D CL 11963 =3D=3D=3D=3D
@FIX: catch jobs with package da=
ta the cause _qb.packageStrToDict to raise an exception
=3D=3D=3D=3D CL 11961 =3D=3D=3D=3D
@CHANGE: add additional sanity c=
hecks to cleanup script, limit number of log directory deletions to a fract=
ion of total jobs in qube, can be overridden by option flag.
=3D=3D=3D=3D CL 11931 =3D=3D=3D=3D
@CHANGE: create the backfill_fac=
t (supervisor dispatch efficiency) dataWarehouse "12-hour" table =
every 5 minutes rather than every 15 to keep the chart data more current - =
full-range table is small enough to support this
=3D=3D=3D=3D CL 11915 =3D=3D=3D=3D
@FIX: fixed cross-dependency cre=
ated in CL11893.
JIRA: QUBE-176
=3D=3D=3D=3D CL 11908 =3D=3D=3D=3D
@CHANGE: changed/added code to s=
et up the following default my.cnf parameters
all OSs:
-------------------
query_cache_size =3D 0 # disable =
the query cache, hit rate is almost 0% due to qube being very write-intensi=
ve
thread_cache_size =3D 16 # acts like supervisor_idle_threads
L=
inux-only
-------------------
table_open_cache =3D 2500 # mysql w=
ill cache the file handles necessary to hold this number of tables f/h's
open_files_limit =3D 50000 # table_open_cache will drive the number of o=
pen files, MyISAM needs a max of 2 per table, but MySQL can also open other=
files past the table_open_cache*2 value - refer to:http://dev.mysql.com/doc/refman/5.1/en/table-cache.html
JIRA: QUBE-175
=3D=3D=3D=3D CL 11899 =3D=3D=3D=3D
@FIX: made the path map translat=
ions case-insensitive on OSX and Windows platforms.
@NEW: added 3rd optional parameter to QbString::replace(), which specifi= es the case-sensitivity, which defaults to TRUE.
JIRA: QUBE-177
=3D=3D=3D=3D CL 11895 =3D=3D=3D=3D
@NEW: exposed the C API routine =
"qbisadmin()" as "qb.isadmin()" in Python API and "=
;qb::isadmin()" in Perl API.
JIRA: QUBE-174
=3D=3D=3D=3D CL 11893 =3D=3D=3D=3D
@CHANGE: "qbadmin {s|w} -co=
nfiguration" now displays both the integer AND string values of all &q=
uot;*_flags" (such as "supervisor_flags") parameters for rea=
dability
JIRA: QUBE-176
=3D=3D=3D=3D CL 11856 =3D=3D=3D=3D
@FIX: added code to fix jobs get=
ting stuck in the "dying" state, that can occur due to race condi=
tions.
Dispatched instances of jobs that were requested to be "killed"=
; before they
properly finished starting up on the workers were ending=
up getting stuck
in the "dying" state.
ZD: 10369
=3D=3D=3D=3D CL 11850 =3D=3D=3D=3D
@FIX: C4D AppFinder jobs crash w=
hen paths or filenames wrapped in QB_CONVERT_PATH() start with a number
=3D=3D=3D=3D CL 11829 =3D=3D=3D=3D
@FIX: Issue with grid jobs where=
some instances would start running multiple times on the dispatched host, =
causing the job to eventually fail.
ZD: 10325
=3D=3D=3D=3D CL 11820 =3D=3D=3D=3D
@FIX: disable permission check o=
f worker_logpath, as it was creating false-alarms and putting the worker to=
be in panic mode unnecessarily.
ZD: 5445 5236
BUGZID: 63683
See also CL9234
=3D=3D=3D=3D CL 11815 =3D=3D=3D=3D
@FIX: on Linux in the /etc/init.=
d/worker script, we're now allowing a longer timeout (15 seconds) for the w=
orker to shutdown cleanly before forcefully killing (i.e. "kill -9&quo=
t;) the processes.
The default short timeout of 3 seconds was not sufficient on many system= s for all child worker threads to exit and the main thread to release the r= unning subjobs and report to the supervisor that it's "down".
JIRA: QUBE-90
=3D=3D=3D=3D CL 11807 =3D=3D=3D=3D
@FIX: added dependency ("re=
quires") on the "expat" package for qube-core RPM packages.<=
/p>
JIRA: QUBE-68
ZD: 8499
=3D=3D=3D=3D CL 11801 =3D=3D=3D=3D
@FIX: fixed qbjoborder() routine=
so that it respects the queuing algorithm's job-host pair rejection routin=
e, queuereject().
This bug, for example, was causing the routine to return jobs that shoul=
dn't qualify to run on
the given host because of the "worker_rest=
rictions" settings of the worker.
ZD: 10231
JIRA: QUBE-158
=3D=3D=3D=3D CL 11795 =3D=3D=3D=3D
@FIX: issue where the python API=
qb.convertpath() will cause a bus error (crash) in the caller, if called w=
ith no args.
@FIX: issue where the 2-argument invocation of qb.convertpath() was not<=
br />working, and may cause a bus error. Turned out to be a bug in the
internal conversion routine _qb_py_dict_pathmap().
=3D=3D=3D=3D CL 11793 =3D=3D=3D=3D
@FIX: bug with modifying user an=
d group permissions.
Operations such as adding or deleting a group or users would generate an=
error message in the supelog, like the following:
[Sep 20, 2013 11:39:35] HOSTNAME[25107]: group permissions modified for =
user foobar by user USERNAME
[Sep 20, 2013 11:39:35] HOSTNAME[25107]: =
ERROR: database query error: 127.0.0.1 via TCP/IP - You have an error in yo=
ur SQL syntax; check the manual that corresponds to your MySQL server versi=
on for the right syntax to use near ') =3D 'test' AND LOWER(user) =3D 'foob=
ar'' at line 1 (1064)
[Sep 20, 2013 11:39:35] HOSTNAME[25107]: SELECT =
access FROM grp WHERE valid =3D 1 AND LOWER(name)) =3D 'test' AND LOWER(use=
r) =3D 'foobar'
JIRA: QUBE-157
=3D=3D=3D=3D CL 11790 =3D=3D=3D=3D
@FIX: fixed inaccurately reporte=
d host.processor_speed (CPU frequency in MHz) property on OSX workers.
JIRA: QUBE-153
=3D=3D=3D=3D CL 11788 =3D=3D=3D=3D
@CHANGE: added "GRANT"=
statement to "GRANT SELECT ON *.*" to the qube_readonly user on =
"localhost".
JIRA: QUBE-105
=3D=3D=3D=3D CL 11771 =3D=3D=3D=3D
@FIX: problem where it was impos=
sible to undefine worker_properties and worker_resources once they were def=
ined in qbwrk.conf or qb.conf, even if the lines were removed from the conf=
ig files.
JIRA: QUBE-85
ZD: 10227
=3D=3D=3D=3D CL 11767 =3D=3D=3D=3D
@FIX: Setting "worker_cpus=
=3D0" or removing a "worker_cpus=3DN" line from qbwrk.conf h=
ad no effect, and the previous setting would get stuck.
JIRA: QUBE-80, QUBE-112
=3D=3D=3D=3D CL 11748 =3D=3D=3D=3D
@FIX: helloWorld example jobtype=
can't create job archive file job.qja below QBDIR/examples, area is read-o=
nly, write to a temp directory
=3D=3D=3D=3D CL 11740 =3D=3D=3D=3D
@CHANGE: remove dependencies bet=
ween Windows MSI installers, any qube component can be installed or uninsta=
lled independent of the others
=3D=3D=3D=3D CL 11733 =3D=3D=3D=3D
@FIX:qbtail.py now prints out th=
e help screen if run without arguments.
#################################################
@RELEASE: 6.5-1
#################################################
=3D=3D=3D=3D CL 11687 =3D=3D=3D=3D
@NEW: add support for Adobe's Creative Cloud 'CC' version numbering sche= me
=3D=3D=3D=3D CL 11685 =3D=3D=3D=3D
@FIX: erroneous "timecumula=
tive" of instances (subjobs)
JIRA: QUBE-148
=3D=3D=3D=3D CL 11682 =3D=3D=3D=3D
@FIX: removed "Configure Qu=
be" menu item from workertray.exe
=3D=3D=3D=3D CL 11654 =3D=3D=3D=3D
@NEW: added worker_boot_delay to=
qb.conf.template
=3D=3D=3D=3D CL 11631 =3D=3D=3D=3D
@CHANGE: modified the new worker=
_boot_delay (CL11605) to default to 0 seconds on ALL platforms.
ZD: 9386
JIRA: QUBE-118
=3D=3D=3D=3D CL 11614 =3D=3D=3D=3D
@FIX: The "Administrator&qu=
ot; user didn't properly get permissions to manipulate others' jobs, due to=
case sensitivity.
JIRA: QUBE-142
=3D=3D=3D=3D CL 11605 =3D=3D=3D=3D
@FIX: added worker_boot_delay to=
qb.conf, which specifies the number of seconds to artificially delay (i.e.=
sleep) before the worker boots.
This was added in order to work around a boot-time timing issue with net= working/hostname assignment on the Mac OS X platform, where many machines a= re incorrectly identified as "localhost".
As such, by default, worker_boot_delay is set to 30 seconds on the Mac, = and 0 (i.e., no delay) on other platforms.
To override the default, worker_boot_delay *must* be set in the local qb= .conf file on each worker-- setting it in qbwrk.conf won't work.
ZD: 9386
JIRA: QUBE-118
=3D=3D=3D=3D CL 11484 =3D=3D=3D=3D
@FIX: appFinder jobs error out a=
t setup with "raise error, v # invalid expression, bad group name"=
; exception raised by python re module
=3D=3D=3D=3D CL 11470 =3D=3D=3D=3D
@FIX: random Worker crashes on W=
indows DU mode-- worker "commiting suicide", i.e. killing it's ow=
n worker.exe process when removing job processes.
=3D=3D=3D=3D CL 11460 =3D=3D=3D=3D
@FIX: added code to "genera=
te movie" jobs, to support frame ranges that don't start at 1 with con=
versions using ffmpeg
@FIX: also added a leading "." to the movie_ext choice strings= , which is required.
ZD: 9745
=3D=3D=3D=3D CL 11428 =3D=3D=3D=3D
@CHANGE: large re-write, not bac=
kward-compatible with previous argument spec
@CHANGE: will only delete=
jobs where all jobs in the job's pgrp completed more than X days ago
=
@CHANGE: added --removeOrphanedLogs functionality, will delete log director=
ies for jobs no longer present in Qube
@CHANGE: does not require MySQL=
db module, but runs faster with it.
=3D=3D=3D=3D CL 11424 =3D=3D=3D=3D
@FIX: patched crash bug in super=
visor (QbSupervisorQueue::_subjobProcReservation())
ZD: 9654
=3D=3D=3D=3D CL 11394 =3D=3D=3D=3D
@CHANGE: add deprecation warning=
s to python qb module accessor method, prints once per location
=3D=3D=3D=3D CL 11390 =3D=3D=3D=3D
@FIX: Global resource collector =
error occurs on MySQL servers running in STRICT mode: "Field 'total' d=
oesn't have a default value"
#################################################
@RELEASE: 6.5-0
#################################################
=3D=3D=3D=3D CL 11260 =3D=3D=3D=3D
@NEW: add Python/Perl API access to the new "timecumulative" s= ubjob and work data
=3D=3D=3D=3D CL 11257 =3D=3D=3D=3D
@NEW: add support to the data wa=
rehouse for the new "cumulative time" instance and work columns=
p>
=3D=3D=3D=3D CL 11254 =3D=3D=3D=3D
@NEW: added ReadMe.rtf for the o=
sx supervisor installer, so that the person installing the supervisor is ma=
de aware of the upgrade potentially taking a long time to complete.
=3D=3D=3D=3D CL 11247 =3D=3D=3D=3D
@NEW: add tracking of cumulative=
time spent in the "running" state for subjobs (instances) and wo=
rk (agenda items), stored as an additional DB field in the Nsubjob and Nwor=
k tables.
These values are computed by taking the elapsed number of seconds since = the last start time of the instance/work, and then multiplying it by the nu= mber of actual job slots occupied by the instance, as dictated by the "= ;host.processors" reservation.
JIRA: QUBE-124, QUBE-125
=3D=3D=3D=3D CL 11240 =3D=3D=3D=3D
@NEW: add support for job tags t=
o the data warehouse schema
=3D=3D=3D=3D CL 11237 =3D=3D=3D=3D
@NEW:qb.query module's jobinfo f=
unction now accepts a "where" argument that will pass through a m=
ysql "where" statement (without the "where" word). Exam=
ple: where=3D"name like 'foo' OR user like 'foo'"
=3D=3D=3D=3D CL 11219 =3D=3D=3D=3D
@FIX: issue with automount in de=
sktop user mode.
@INTERNAL: also cleaned up some Win32 automount code.
ZD: 9434
=3D=3D=3D=3D CL 11217 =3D=3D=3D=3D
@CHANGE:Python API change: all p=
ython classes can now be constructed without data. In other words, one can =
create empty objects.
=3D=3D=3D=3D CL 11216 =3D=3D=3D=3D
@NEW: add support for real-time =
log parsing and progess percentages to job instances for non-agenda-based j=
obtypes, currently only supported by python-based jobtypes
=3D=3D=3D=3D CL 11208 =3D=3D=3D=3D
@NEW: label text for worker para=
meter widget changes colour to indicate a value which will be saved
@F=
IX: properly support worker_path_map and worker_drive_map in new qbwrk.conf=
configuration dialog
@FIX: properly indicate when the value for a giv=
en parameter varies between workers, even if it's not defined for a worker =
but defined for others
@FIX: support greater than 5 mapping definition=
s for worker_path_map and worker_drive_map
=3D=3D=3D=3D CL 11201 =3D=3D=3D=3D
@NEW: add DB conversion scripts =
(to add new subjob table columns introduced in 6.5, DB version 32) that run=
when the rpm/pkg/msi supe installer runs, to provide forward-compatibility=
for old (pre-6.5) job/subjob data
JIRA: QUBE-119
=3D=3D=3D=3D CL 11200 =3D=3D=3D=3D
@TWEAK:Minor Python API change: =
You can now create an empty qb.Job()
=3D=3D=3D=3D CL 11190 =3D=3D=3D=3D
@CHANGE: added "enable_wind=
ows_job_object" flag, and deprecated "disable_windows_job_object&=
quot;
The "disable_windows_job_object" flag is silently ignored. Win=
dows Job
Objects are always disabled now, unless the job explictly spe=
cifies
otherwise with the new "enable_windows_job_object" fl=
ag.
JIRA: QUBE-117
=3D=3D=3D=3D CL 11185 =3D=3D=3D=3D
@CHANGE: modified user name and =
group name authentications to be case-insensitve
JIRA: QUBE-98
=3D=3D=3D=3D CL 11183 =3D=3D=3D=3D
@NEW: add supervisor_default_hos=
torder parameter to qb.conf
JIRA: QUBE-113
=3D=3D=3D=3D CL 11178 =3D=3D=3D=3D
@CHANGE: Added "post" =
to the default callback language list, supervisor_language_flags
=3D=3D=3D=3D CL 11175 =3D=3D=3D=3D
@NEW: advanced worker resource r=
eservations, including N-M, N+M and N* reservation specifiers, and live tra=
cking of resource "allocations" and "slots" (actually a=
llocated host.processor value) of running job instances.
JIRA: QUBE-91
=3D=3D=3D=3D CL 11174 =3D=3D=3D=3D
@NEW: add new worker DB table sc=
hema, QbTableVersion8
=3D=3D=3D=3D CL 11155 =3D=3D=3D=3D
@NEW: Add QB_JOBSLOTS and QB_ALL=
OCATIONS environment variables to be set, indicating the initial jobslot al=
location and the more general initial resource allocations, respectively, w=
hen jobs execute.
=3D=3D=3D=3D CL 11127 =3D=3D=3D=3D
@FIX: editing supevisor config w=
ith WranglerView->Admin->Configure causes the 'submit_job' privilege =
to be removed from supervisor_default_security
@CHANGE: Admin->Disp=
lay Config (local) changed to Admin->Display Running Config, shows super=
visor and/or worker running config if these services are running locally
@CHANGE: Admin->Configure (Local) changed to Admin->Configure Loca=
l Host
@INTERNAL: add all supervisor and worker flag values to qb.util=
s.flags, now used directly by configuration dialog, instead of the config d=
lg items being order-dependent. Allows for sorting configuratin dialog item=
s alphabetically for ease of use.
@NEW: Admin->Configure Local Host=
now creates a timestamped backup of the qb.conf file in the same location =
as the original
@NEW: Admin->Configure Local Host is now disabled o=
n Windows and Linux if not invoked by root (linux) or Admin-equivalent (Win=
dows)
@COSMETIC: File->Install AppUI menu items now sorted alphabet=
ically
=3D=3D=3D=3D CL 11122 =3D=3D=3D=3D
@NEW:New utility qbtail.py in $Q=
BDIR/utils. This is a *nix tail-like utility implemented in Python that run=
s on OS X, Linux, and Windows.
=3D=3D=3D=3D CL 11096 =3D=3D=3D=3D
@NEW:Updated and cleaned up all =
Python API examples in QBDIR/examples/python
=3D=3D=3D=3D CL 11088 =3D=3D=3D=3D
@INTEG: dev-supervisor-additiona=
l-job-params>main,CL11087
----
@NEW: added prod_{show,shot,seq=
,client,dept,custom[1-5]} fields to the job object.
The C++, Python, and Perl APIs have been updated.
The qbsub, qbjobs=
, and qbmodify commands and their online help text have been updated.
JIRA: QUBE-79
=3D=3D=3D=3D CL 11024 =3D=3D=3D=3D
@NEW: supervisor reread qb.conf =
file feature.
The qbadmin command has been updated with a "-reread" option, =
to be called as in "qbadmin s -reread" to
instruct the=
supervisor to reread its qb.conf file and update the dynamically modifiabl=
e parameters, which are
as of this writing:
* qb_domain
* supervisor_default_group_security
* supervisor_d=
efault_p_agenda_priority
* supervisor_default_pgrp_subjob_limit
*=
supervisor_default_priority
* supervisor_default_security
* supe=
rvisor_default_user_subjob_limit
* supervisor_flags
* supervisor_=
global_resources
* supervisor_highest_user_priority
* supervisor_=
job_flags
* supervisor_max_priority
* supervisor_p_agenda_max
* supervisor_pgrp_subjob_limits
* supervisor_user_subjob_limits
* supervisor_verbosity
* supervisor_worker_configfile
(Note: DB schema change was involved, and QbTableVersion32 was added)
JIRA: QUBE-92
=3D=3D=3D=3D CL 10972 =3D=3D=3D=3D
@CHANGE: modified qbworkerpathma=
p() to return the localhost's worker_path_map when called outside of a jobt=
ype back-end environment.
JIRA: QUBE-95
=3D=3D=3D=3D CL 10953 =3D=3D=3D=3D
@FIX: remove digit/number from w=
orker's journal file name (worker6.jnl -> worker.jnl)
=3D=3D=3D=3D CL 10946 =3D=3D=3D=3D
@TWEAK: error code now prints wh=
en QbTrackOSX in trackAssignment() encounters an error.
=3D=3D=3D=3D CL 10945 =3D=3D=3D=3D
@FIX: fix yet another issue with=
previous CL, concerning graceful worker shutdown.
Also swithced a couple of calls to qbvcout to qbvout so that more useful= info such as timestamp and pid print.
=3D=3D=3D=3D CL 10943 =3D=3D=3D=3D
@INTERNAL TWEAK: added/corrected=
comments, and removed unneeded #ifdef/endif macro, while working on previo=
us CL
=3D=3D=3D=3D CL 10942 =3D=3D=3D=3D
@CHANGE: modified worker shutdow=
n code so that it immediately returns all running subjobs to the supe, and =
report a status of "down", so the supervisor marks it "down&=
quot; promptly.
JIRA: QUBE-90
=3D=3D=3D=3D CL 10927 =3D=3D=3D=3D
@FIX: changed the initial state =
of a newly dispatched instance on a worker to "running" instead o=
f "pending", so that early calls to qbjobobject() in the back-end=
code will return "running" as the job's status
JIRA: QUBE-45
=3D=3D=3D=3D CL 10827 =3D=3D=3D=3D
@NEW: a new i=
nterface for configuring multiple workers and writing out the qbwrk.conf
@FIX: add "convert_path" flag to client_ and supervisor_job_fl=
ags control
@FIX: default value in config UI for worker_max_threads wa=
s 8, now 256
@FIX: "Confgure on Supervisor" worker menu item=
is only enabled if user has the qube "admin" privilege AND is on=
the supervisor
@COSMETIC: all checkbox lists from "Choices"=
buttons are now sorted alphabetically
=3D=3D=3D=3D CL 10667 =3D=3D=3D=3D
@CHANGE:Python API-level change:=
QBObject is now simply a python dictionary. It no longer re-implements any=
functions
@CHANGE:Python API-level change: qb.updatelocalconfig now u=
ses the subprocess module rather than the depricated popen2.Popen4.
=3D=3D=3D=3D CL 10589 =3D=3D=3D=3D
@FIX: job list not updating when=
switching supervisors, always show jobs from the default supervisor.
=
=3D=3D=3D=3D CL 10255 =3D=3D=3D=3D
@INTEG: rel-6.4 -> main
---=
--
@NEW: pyCmdline and pyCmdrange do run-time path translation
=3D=3D=3D=3D CL 10061 =3D=3D=3D=3D
@CHANGE: index all datawarehouse=
fact tables on time_sk column, since it's so frequently accessed.
=3D=3D=3D=3D CL 10056 =3D=3D=3D=3D
@FIX: PFX_CREATE_DATASUBSET_TABL=
E doesn't use an indexed column for the WHERE clause, now does an INNER JOI=
N to the time dimension table
=3D=3D=3D=3D CL 10037 =3D=3D=3D=3D
=
@FIX: allow qube-core to be repaired if other qube products are already ins=
talled
=3D=3D=3D=3D CL 9730 =3D=3D=3D=3D
@TWEAK: modified so that worker n=
ame and IP print when job is accepted by worker, in assignJob()